request和session以及application辨析(并用application实现简单的网页计数器)

来源:互联网 发布:电脑垃圾清理软件 编辑:程序博客网 时间:2024/05/19 00:13

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中实现的一个简单的网页计数器:

  <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>


 

原创粉丝点击