当前位置:编程学习 > JAVA >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,