JSP的四大作用域(pageContext request session application)

jsp四大作用域

jsp概念

JSP(全称JavaServer Pages)一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。简单来说就是一种在html嵌入java代码,并且能够实现网页动态交互的一个技术。在没有jsp的时候,主要是在servlet中嵌套html代码。jsp技术可以说是反过来了。同时,每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP文件会被翻译成一个_jspServlet文件(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。

四大作用域

  1. pageContext
  2. request
  3. session
  4. application

pageContext(page域):
1.page域指当前的jsp页面,作用范围是整个JSP页面,是四大作用域中最小的一个。
2.在pageContext中可以存数据,可利用setAttribute(String name,Object value,int scope)。
3.pageContex的生命周期是这个页面的运行时间,若你关掉这个页面,页面运行结束,pageContext就会消亡,数据也会失效。
4.使用情况:只适合在一个页面中使用,在一个页面中定义变量,和保存在此页面中有用的数据。

request(request域):
1.request是指一次请求,即当用户访问web服务器的时候,web服务器会生成request和response对象,然后在service方法调用,完成用户的请求和对用户的响应。作用范围整个请求链
2**.request域中可以存数据**,可利用setAttribute(String name,Object value,int scope)。
3**.request的生命周期是请求的周期**,若请求一直转发下去,其生命并不会结束。当整个请求结束,request生命结束。在request保存的数据也会失效。
4.使用情况:用于一次请求在不同页面间的操作及参数传递,如表单的参数传递。

session(session域)
1.session是指一次会话,当用户首次访问服务器时,服务器会根据每一个浏览器的请求创建一个session对象,每个用户有每个的session对象,相当于身份证,保存在服务器中。借助cookie技术来传递id属性,就可以在每次访问中找到自己的session。作用范围是一次会话。
2**.session域中可以存数据**,可利用setAttribute(String name,Object value,int scope)。
3.session的生命周期是在服务器正常的情况下,在第一次调用request.getSession()方法时到销毁该session时结束。默认情况是30分钟。当然也可以设置session的maxage来改变生命周期。生命结束,数据会丢失。
4.使用情况:主要是网站用户的信息,购物车

application(ServletContext)
1.application即是servlet中的ServeltContext。application作用范围:整个Web应用。
2**.ServletContext可以存数据,只要设置一次,整个web应用都可以访问到数据。**
3.ServletContext生命周期在服务器启动时创建,在服务器关闭时销毁
4.使用情况:每个用户都可以访问的数据,或者多个客户端共享数据。例如购物网站的首页,商品页等。

作用域从小到大为:PageContext(jsp页面),ServletRequest(一次请求),HttpSession(一次会话),ServletContext(整个web应用)。
一个jsp页面在搜寻数据时,这四个域中有数据同名的话从作用域小的地方到作用域大的地方搜寻。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章