equest是封装client端(也就是用户通过browser)提交的请求数据和属性的对象。
response是封装web server端响应数据和属性的对象。
我们经常会将pageContext、request、session和application混为一谈,因为它们都可以通过setAttribute()和getAttribute()来设定或读取属性。但它们之间是有别的,它们最大的区别在于使用范围。
pageContext对象的范围只适用于当前页面范围,即超过这个页面就不能够使用了。所以使用pageContext对象向其它页面传递参数是不可能的。
request对象的范围是指在一JSP网页发出请求到另一个JSP网页之间,随后这个属性就失效。
session的作用范围为一段用户持续和服务器所连接的时间,但与服务器断线后,这个属性就无效。比如断网或者关闭浏览器。
application的范围在服务器一开始执行服务,到服务器关闭为止。它的范围最大,生存周期最长。
session主要功能:验证用户是否登录。在几个页面上都能取得。
request:只有<jsp:forward page=" ">跳转页面才能取得。
application:只要设置一次,所有的网页窗口都可以取得数据。
application session request->都需要跨多个页面
设置过多application 或每一个session保存过多的对象则性能降低
能使用request 就不要使用session 能使用session的就不要使用application
application应用:在线人员统计、在线人员名单列表
pageContext:默认情况下一个页面的保存范围
实际上四种属性范围都是通过pageContext属性完成的
pageContext.setAttribute("name","mldn",PageContext.REQUEST _SCOPE);更改红字的名字得到。
在另外一页用request去接收String name=(String)request.getAttribute("name");<%=name%>;
如果要释放application资源要重新启动服务器
四种属性范围都是依靠pageContext展开的,但是在开发中,往往使用session和request范围最多。