request和session以及application辨析(并用application实现简单的网页计数器)
1.request的setAttribute()与getAttribute()方法在服务器端调用,客户端不知道是否调用了这两个方法。request的getParameter()方法获取到客户端通过表单或者url请求发过来的参数值,服务器端通过该方法得到客户端的这些值。
注意没有与getParameter()方法对应的setParameter()方法。request对象内数据的存活范围就是在request对象的存活范围内,客户端向服务器端发送一次请求之后
该对象就销毁了。当客户端再次向服务器端发送请求时就会创建新的request对象。以前的request对象的数据就无法得到。
2.同理session对象内数据的存活范围也就是session对象的存活范围。直观的感觉是浏览器不关闭,session对象就会一直存在(当然这样将是不合理的)。无论发送多少的session请求其对象只有一个。
3.application(应用对象):存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。当然从这一方面来讲application对象所消耗服务器的资源也比较多,所以基本上在实际中很少用到application对象。
综上所述可见:
request、session以及application这3个对象的范围是逐个增加的。
下面是一个用application对象在jsp中实现的一个简单的网页计数器:
[java]
<body>
<!--网页计数器 -->
<%
if(application.getAttribute("counter") == null){
String counter = "1";
application.setAttribute("counter",counter);
}
else{
String counterNum = (String)application.getAttribute("counter");
int count = 0;
count = Integer.valueOf(counterNum).intValue();
count++;
application.setAttribute("counter",Integer.toString(count));
}
%>
你是第<%=application.getAttribute("counter") %>位访者!
</body>
摘自 liuchangqing123
补充:软件开发 , Java ,