您的位置:首页 > 移动开发

JSP内置对象(包括session,application,page,pageContext,exception)

2016-01-17 21:15 489 查看
一、什么是Session1、session表示客户端与服务端的一次会话2、Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览网站所花费的时间。3、从上述定义中可以看到,session实际是一个特定的时间概念4、服务器的内存中,保存着不同用户的session,每个用户都有属于自己的session。二、关于session对象(1)session是JSP的一个内置对象,是HttpSession类的实例。(2)session对象在第一个JSP页面被装载时自动创建,完成会话期管理。(3)从客户打开浏览器并连接到服务器开始,到客户关闭浏览器窗口断开与服务器的连接,这一过程成为一个会话。(4)当客户在同一个网站的不同页面之间进行切换并访问时,服务器是通过session来判断这些请求是否来自同一个客户。(5)session一般有时间限制,长时间不操作可能会导致session失效。session失效后原session中保存的属性值会全部丢失。-------------------------------session对象的常用方法有:long getCreationTime() : 返回session的创建时间(单位:毫秒);public String getId() : 返回session的唯一ID号(该ID在session生成时,由JSP引擎创建)public Object setAttribute(String name,Object value) : 按照键值对的方式在该session会话中保存一个属性(该属性是一个对象类型)public Object getAttribute(String name) : 返回指定名称的属性的值(如果该名称的属性不存在,则返回null)String[] getValueNames() : 返回一个包含在此session中所有可用属性的数组。voidsetMaxInactiveInterval(int i) 该方法可直接设定session的生存时间,超过该时间session会重新创建。(单位:秒)int getMaxInactiveInterval() : 返回一个时间,该时间表示当前session间隔多少时间之后会失效(单位:秒)。三、session的生命周期1.创建:当客户端第一次访问某个jsp或者servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验2.活动:①某次会话当中通过超链接打开的新页面属于同一次会话②只要当前会话页面没有全部关闭,重新打开的浏览器窗口访问同一个项目资源时属于同一次会话③除非本次会话的所有页面都关闭后在重新访问某个JSP或者servlet将会创建新的会话注意:注意原有会话还存在,只是这个旧的Session仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验3.session销毁的三种方式:①调用session.invalidate()方法②session过期(超时)③服务器重新启动设置session超时的两种方式:tomcat默认session超时时间为30分钟1:session.setMaxInactiveInterval(时间);       //单位是秒2:在web.xml配置
<span style="font-size:18px;"><session-config><session-timeout>10<session-timeout><session-config> //单位是分钟</span>
四、application对象1、实现了用户间数据的共享,可存放全局变量。(类似静态对象)2、开始于服务器启动,终止于服务器的关闭(生命周期)3、在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作4、在任何地方对application对象属性进行操作,都将影响到其他用户对此的访问5、application对象是ServletContext类的实例五、page对象page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。常用方法如下:class getClass(); //返回此Object类int hashCode(); //返回此Object的hash码boolean equals(Object obj); //判断此Object是否与指定的Object对象相等void copy(Object obj); //把此Object复制到指定的Object对象中Object clone(); //克隆此Object对象String toString(); //把此Object对象转换为String类的对象void notify(); //唤醒一个等待的线程void notyfyAll(); //唤醒所有等待的线程void wait(int timeout); //使一个线程处于等待直到timeout结束或被唤醒void wait(); //使一个线程处于等待直到被唤醒六、pageContext对象1、pageContext对象提供了对JSP页面内所有的对象及名字空间的访问。【权限很高】2、可以访问到本页所在的session,也可以取本页面所在的application的某一属性值3、简单说,pageContext对象相当于页面中所有功能的集大成者4、pageContext对象的本类名也叫pageContext常用方法如下:(1)JspWriter getOut() 返回当前客户端相应被使用的JspWriter流(out)(2)HttpSession getSession() 返回当前页面中HttpSession对象(session)(3)Object getPage() 返回当前页面的Object对象(page)(4)ServletRequest getRequest() 返回当前面的ServletRequest对象(request)(5)servletResponse getResponse() 返回当前页的ServletResponse对象(response)(6)void setAttribute(Strign name, Object attribute) 设置属性及属性值(7)Object getAttribute(String name ,int scope) 在指定范围内取属性值(8)int getAttributeScope(String name) 返回某属性的作用范围(9)void forward(String relativeUrlPath) 使当前页面跳转到另外一个页面(服务器转发)(10)void include(String relativeUrlPath) 在当前位置包含另一个文件七、Config对象Config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括ServletContext时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)常用方法如下:ServletContextgetServletContext()返回含有服务器相关信息的ServletContext对象String getInitParameter(String name)返回初始化参数的值Enumeration getInitParameterNames()返回Servlet初始化所需所有参数的枚举八、Exception对象Exception对象是一个异常对象,当一个页面在运行过程中规发生了异常,就会产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象使用方法:1、在可能会抛出异常的页面page指令里,设置errorPage="xxx.jsp",表示出现异常将抛给xxx页面去处理2、在xxx页面里,要使用Exception对象,需要把page指令里的isErrorPage属性设置为true。Exception对象常用方法:(1)String getMessage() 返回描述异常的信息(2)String toString() 返回关于异常的简短描述信息(3)void printStackTrace() 显示异常及其栈轨迹(4)Throwable FillInStackTrace() 重写异常的执行栈轨迹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: