JavaWeb-JSP 四个属性的作用范围
2015-10-24 10:44
495 查看
JSP 四个属性的作用范围
纲要request -> javax.servlet.http.HttpServletRequest
session -> javax.servlet.http.HttpSession
pageContext -> javax.servlet.jsp.PageContext
application -> javax.servlet.ServletContext
request作用范围 -> 只限于一次请求
session作用范围 -> 只限于一次会话 (浏览器关闭~重新启动浏览器 在此期间不会失效)
pageContext作用范围 -> 只限于本 JSP 页面
application作用范围 -> 只限于整个WEB请求(只要服务器没有关闭就不会失效)
second.jsp
[code]<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>JSP 1</h1> <% request.setAttribute("requestAttr", "requestValue"); session.setAttribute("sessionAttr", "sessionValue"); pageContext.setAttribute("pageContextAttr", "pageContextAttrValue"); application.setAttribute("applicationAttr", "applicationValue"); %> <br> <br> pageContext: <%=pageContext.getAttribute("pageContextAttr")%> <br> <br> request: <%=request.getAttribute("requestAttr")%> <br> <br> session: <%=session.getAttribute("sessionAttr")%> <br> <br> application: <%=application.getAttribute("applicationAttr")%> <br> <br> <a href="last.jsp">Last 2</a> </body> </html>
last.jsp
[code]<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <br> <br> pageContext: <%=pageContext.getAttribute("pageContextAttr")%> <br> <br> request: <%=request.getAttribute("requestAttr")%> <br> <br> session: <%=session.getAttribute("sessionAttr")%> <br> <br> application: <%=application.getAttribute("applicationAttr")%> </body> </html>
测试结果:
首先打开second.jsp
点击Last2
可以看见前面两个为null
因为pageContext的作用范围是只限于本 JSP 页面,request的作用范围是只限于同一个请求
我们把浏览器关闭 重新开启一个浏览器
可见前面三个都为null
因为session的作用范围为一次会话。
相关文章推荐
- java学习笔记(韦东山)
- 【完美解决】教程-运行Eclipse出错:Failed to load the JNI shared library
- 基于JDK1.8的LinkedList源码学习笔记
- 揭开Spring事务处理
- Java实现基数排序
- Gradle之旅-使用gradle+eclipse构建web项目
- java——异常,包
- Java线程池使用说明
- MyEclipse2014下载地址
- java IO总结
- Java理论学时第四节。课后作业。
- java——多态,内部类
- Sprint MVC 与 struts2区别
- java 计时器线程 Timer类
- Java设计模式6:策略模式
- Java-ServletOutputStream
- Java-ServletOutputStream
- web项目,关于eclipse编译问题,项目不会自动编译,老是要server remove项目,再布置才会更新编译。
- java io流
- Eclipse4.4.1安装velocity插件Veloeclipse.ui_2.0.8