session:会话,会话主要指的是一段有开始有结束的过程。
在jsp技术中,会话特指一个用户从打开一个网站的任何一个页面开始,到关闭该网站的所有页面为止,算一次jsp中的会话。
只要在一次会话范围中,都可以获取
主要方法有:
setAttribute() 在会话范围中设置属性
getAttribute() 从会话范围中获取属性
removeAttribute() 从会话范围中删除指定的属性
会话其他方法:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
是否为新会话
<%=session.isNew() %>
会话创建时间
<%=session.getCreationTime()%>
会话上次访问时间
<%=session.getLastAccessedTime() %>
当前系统时间
<%=System.currentTimeMillis() %>
会话闲置时间
<%=System.currentTimeMillis() - session.getLastAccessedTime() %>
会话闲置时间是否超过5秒
<%
if((System.currentTimeMillis() - session.getLastAccessedTime())>5000){
// 会话失效
session.invalidate();
}else{
out.print(System.currentTimeMillis() - session.getLastAccessedTime());
}
%>
又叫应用对象,应用范围
application的存活范围是内置对象中最长的,从部署web应用开始,到卸载web应用为止,算一次应用范围。
因此,只有重新部署web应用货值直接重启tomcat服务器,才能销毁application范围
主要方法有:
application.setAttribute();设置属性值
application.getAttribute();获取属性值
application.removeAttribute();移除属性值
application.getInitParameter(); 获取初始化参数。
application设置初始化参数时需要在web.xml中配置,web.xml是一个应用描述符,位置在WebRoot/WEB-INF/web.xml,对一个web应用的任何配置,都应该在web.xml中配置
初始化参数配置如下:
aa
hello
index.jsp
然后在任何一个jsp页面上使用application.getInitParameter(名字)即可获取到属性的值
(原因:当web应用被部署的时候,tomcat会自动读取web应用的web.xml配置文件,并且把所有初始化参数自动封装进application对象中。)
页面范围:从进入一个jsp页面开始,到该jsp页面执行完毕,算一次页面范围。
通过pageContext可以获取4个范围中的数据:findAttribute()(pageContext特有的方法), 寻找的顺序是 从小到大,依次寻找,如果在小范围中已经找到数据了,就不会在继续寻找了。
通过pageContext还可以获取其他8个内置对象
这个功能的存在主要是为了在使用内置对象的时候,不用把所有的内置对象当成参数传递
pageContext.include就是java代码版本的动态包含
pageContext.forward() 就是java代码版本的转发