JSP内置对象(下)

session

什么是session?

session表示客户端与服务器的一次会话。

Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。

从上述定义中可以看到,session实际上是一个特定的时间概念。

 

在服务器在的内存中保存着不同用户的session

session对象

session对象是一个JSP内置对象。

session对象在第一个JSP页面被装载时自动创建,完成会话期管理。

从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。

当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。

session对象是HttpSession类的实例。

session对象常用方法:

Session的生命周期

创建

当客户端第一次访问某个jsp或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务端发送请求时,

都会将此SessionId携带过去,服务端会对次SessionId进行校验。     

活动

某次会话当中通过超链接打开的新页面属于同一次会话。

只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。

除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。

注意:

 注意原有会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验。

销毁:

Session的销毁只有三种方式:

1、调用了session.invalidate()方法

2、Session过期(超时)

3、服务器重新启动

某次会话中通过超链接打开的新页面属于同一次会话。

只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时,属于同一次会话。

本次会话的所有页面都关闭的情况下,再重新访问某个JSP或Servlet时会创建新的会话。

设置session超时时间

Tomcat默认session超时时间为30分钟。

设置session超时有两种方法:

1、session.setMaxInactiveInterval(时间);//单位是秒

2、在web.xml配置

<session-config>

<session-timeout>

10

</session-timeout>

</session-config>//单位是分钟

 

application对象:

application对象实现了用户间数据的共享,可存放全局变量。

application开始于服务器的启动,终止于服务器的关闭。

在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作。

在任务地方对application对象属性的操作,都将影响到其他用户对此的访问。

服务器的启动和关闭决定了application对象的生命。

application对象是ServletContext类的实例。

常用方法

示例application.jsp

<body>
    <h1>application内置对象</h1>
    <%
    application.setAttribute("city", "北京");
    application.setAttribute("postcode","10000");
    application.setAttribute("email","lisi@126.com");
     %>
     所在城市是:<%=application.getAttribute("city") %><hr>
     application中的属性有:<%
     Enumeration attributes = application.getAttributeNames();
     while(attributes.hasMoreElements())
     {
         out.println(attributes.nextElement()+"&nbsp;&nbsp;");
     }
      %><br>
      JSP(SERVLET)引擎名及版本号:<%=application.getServerInfo() %>
  </body>

 

 

page对象

page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类实例。

常用方法

示例page.jsp

<body>
  <h1>page内置对象</h1>
    当前page页面对象的字符串描述:<%=page.toString() %> <br>
  </body>

 

 

pageContext对象

常用方法

示例pageContext.jsp

<body>
    <h1>pageContext内置对象</h1>
    <!--获取session的用户名,首先要先运行session.jsp-->
    用户名是:<%=pageContext.getSession().getAttribute("username") %><br>
  <%
  //跳转到主页面
  //pageContext.forward("index.jsp");
  pageContext.include("include.jsp");
   %>
  </body>

 include.jsp

<%@ page language="java" import="java.util.*,java.text.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
Date date = new Date();
SimpleDateFormat sdf =new SimpleDateFormat("yyyy年MM月dd日");
String s =sdf.format(date);
out.println(s+"<br>");
%>
View Code

 

 

Config对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数

(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。

常用方法:

 

Exception对象

exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。

如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。

他实际上是java.lang.Throwable的对象。

常用方法

 

posted @ 2017-06-13 07:54  Lucky锦  阅读(188)  评论(0)    收藏  举报