目录
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
接下来我们来谈谈jsp中的四大作用域,分别是page(页面作用域)、request(请求作用域)、session(会话作用域)、application(应用程序作用域)
page域
即pageContext。page对象的作用范围仅限于用户请求的当前页面。如果把变量放到pageContext里,就说明它的作用域page,它的有效范围只在当前jsp页面里。
request域
request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。主要用于一次请求在不同页面间的操作及参数传递,如表单的参数传递。
session域
如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话,即从用户打开浏览器开始,到用户关闭浏览器这中间的过程。session的生命周期是在服务器正常的情况下,在第一次调用request.getSession()方法时到程序调用HttpSession.invalidate()销毁该session时结束。当然你也可以在网页F12控制台删除session。主要是网站用户的信息。
application域
application即是ServeltContext,它的有效范围是整个应用,即整个web适用。ServletContext生命周期在服务器启动时创建,在服务器关闭时销毁。主要用于每个用户都可以访问的数据或多个客户端共享的数据
简单总结
作用域从小到大为
PageContext(jsp页面)
ServletRequest(一次请求)
HttpSession(一次会话)
ServletContext(整个web应用)
名称 | 作用域 |
page | 在当前页面有效 |
request | 在当前请求中有效 |
session | 在当前会话中有效 |
application | 在所有应用程序中有效 |