javabean计数器

hliuxing 2002-05-14 12:33:55
我想研究一下计数器,用JSP或javabean做的都可以,麻烦贴出来,谢谢.
email:ist99hcy@yahoo.com.cn
...全文
41 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
thebear810611 2002-05-16
可以用session做,也可以用application做,还可以用cookie做

<%@
page language="java" import="java.util.Date, java.io.*"
contentType="text/html;charset=ksc5601"
%>
<%!
// 指定文件路径和名称.
String filePath = "/";
String fileName = "counter.txt";
int intCount = 0;
String strCount = null;
String cookie_name = "Counter";
boolean flag = false;
Date date;
%>

<html>
<head><title>Cookie counter example - aboutJSP</title></head>
<body bgcolor=FF9A00>
<Font color=42331C face='Pyunji R'>
<h3>Cookie counter example - aboutJSP</h3>
<hr>
<%
//从Request对象获取Cookie.
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i=0 ; i<cookies.length ; i++) {
if(cookies[i].getName().equals("Counter")) {
// 查找Counter Cookie.显示姓名。
out.print("<BR>" + i + " th cookie name : ");
out.println(cookies[i].getName() + "<BR>");
flag = true;
break;
}
}
}

try {
//以'rw'格式读取文件
RandomAccessFile raf;
raf = new RandomAccessFile(filePath + fileName, "rw");
// 新建文件时初始化count。
if ((strCount = raf.readLine()) == null) {
intCount = 1;
strCount = Integer.toString(intCount);
raf.writeBytes(strCount + "\n");
raf.close();
}
else {
try {
intCount = Integer.parseInt(strCount);
}
catch(Exception e) {
System.err.println(e);
raf.close();
}
if (!flag) {
date = new Date();
String strDate = date.toString();
Cookie visited;
visited = new Cookie(cookie_name, strDate);
visited.setMaxAge(-1);
response.addCookie(visited);
intCount++;
try {
strCount = Integer.toString(intCount);
}
catch(Exception e) {
System.err.println(e);
raf.close();
}
/* 移动到文件夹 */
raf.seek(0);
/* 将Count值写入文件 */
raf.writeBytes(strCount + "\n");
}
/* 关闭文件 */
raf.close();
}
}// End try
catch (IOException ioe) {
System.err.println(ioe);
}
catch (Exception e) {
System.err.println(e);
}
%>
<br>
<img src=aboutJSP.gif> -
<%
for (int i=0 ; i<strCount.length() ; i++)
out.print("<img src=" + strCount.charAt(i) + ".gif>");
%>
</body>
</html>
回复
hliuxing 2002-05-16
对哇,放在文件里它就不会消失了,下次再读取不就可以了。
回复
hliuxing 2002-05-16
对哇,放在文件里它就有会消失了,下次再读取不就可以了。
回复
shuaizhu 2002-05-14
package mybean;
public class counter
{
int count = 0;
public counter()
{
}
public int getCount()
{
count++;
return this.count;
}
public void setCount(int count)
{
this.count = count;
}
}

调用:
<html>
<body>
<h1>JavaBean Count</h1>
<jsp:useBean id = "bean0" scope = "application" class = "mybean.counter" />
<%
out.println("This Counter is : " + bean0.getCount() + "<br>");
%>
</body>
</html>
回复
dylanwolf 2002-05-14
可以把counter的值存在一个文件里。
回复
weidegong 2002-05-14
http://www.fwchina.com/down/index.asp?unit=4
回复
hliuxing 2002-05-14
楼上兄弟这们的做法,我也考虑过,但我担心的就是,当你的服务器重启的时候,或者就干脆重启计算机的时候,那个数据就会被重置为1.
回复
thebear810611 2002-05-14
package test;
public class Counter
{
int Count=1;
public Counter()
{}

public void addCount()
{
Count++;
}

public int getCount()
{
return Count;
}
}


<jsp:useBean id = "you" scope = "application" class = "test.Counter" />
你是第
<%= you.addCount() %>
位来访者
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告