JSP内置对象(下)

1.session:表示的是客户端和服务器的一次会话

  web中的session就是指用户进入到网站中浏览网站所花费的时间,从这里可以看出session就是一个特定的时间概念

2.在服务器内存中保存着不同用户的不同session,同一用户的相同session

3.session对象在第一个JSP页面被装载时自动创建,完成会话期管理。当一个客户打开浏览器连接到服务器开始,到客户关闭浏览器离开这个服务器结束,称为一个会话

4.session方法:

session_page1:

<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>session对象</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

</head>

<body>
    <h1>session</h1>
    <hr>
    <%
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d =  new Date(session.getCreationTime());
        session.setAttribute("usename", "Tom");
        session.setAttribute("password", "123456");
        session.setAttribute("age", 20);
        
        //设置当前session的生成期限单位是秒
        session.setMaxInactiveInterval(10);//10秒钟
            
    %>
    <!-- session返回的是长整型,以毫秒为单位 -->
    session创建时间:<%=sdf.format(d)%><br>
    session的ID编号:<%=session.getId() %><br>
    从session中取得用户名:<%=session.getAttribute("usename") %><br>
    <a href="JSP/session_page2.jsp">同一个浏览器中的session是相同的,即不同页面可获得同一session</a>
</body>
</html>

session_page2:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'session_page2.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
   session的ID编号:<%=session.getId() %><br>
       获得session的所有属性:
           <%
               String [] names = session.getValueNames();
               for(int i=0;i<names.length;i++){
               out.println(names[i]+"&nbsp;&nbsp");
               }
            
            %>
  </body>
</html>

session的生命周期

5.创建:当客户端第一次访问jsp或者servlet时候,服务器会为当前的会话创建一个sessionId,每次客户端向服务器发送请求时,都会讲此sessionId携带过去,服务端会对此sessionId进行校验

6.销毁:(有三种方式)

  • 调用 session.invalidate()方法
  • session过期(超时)
  • 服务器重启

7.Tomcat中默认的session超时时间是30分钟

application

1.application对象:

  • 实现了用户间的数据共享,可存放数据变量。
  • 开始于服务器的启动,终止于服务器的关闭。
  • 在用户的前后连接或不同用户的连接中,可以对application对象的同一属性进行操作
  • 在任何地方多application对象的操作,都将影响到其他用户对此的访问

2.application的生命周期:服务器的启动和关闭

3.application对象是serveltContent类的实例

4.application中的一些方法例子:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>application内置对象</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  <body>
          <%
               application.setAttribute("city", "beijing");
               application.setAttribute("passcode", "10000");
               application.setAttribute("email", "lisi@163.com");
           %>
           所在城市是:<%=application.getAttribute("city") %><br>
          application中的属性:|
          <%
              Enumeration attributes = application.getAttributeNames();
              while(attributes.hasMoreElements())
              {
                    out.println(attributes.nextElement()+"&nbsp;&nbsp;");
              }
           %><br>
           Jsp版本和引擎号:<%=application.getServerInfo() %><br>
 
  
  </body>
</html>

Page

1.page就是指当前JSP页面本身,它是java.lang.objecct类的实例。

pageContext对象

1.方法中page.include("aaa.jsp") 在浏览器中显示连个jsp页面的信息

   page.forward()跳转到其他的jsp页面
Config对象

1.config对象是在一个servlet初始化的时候,JSP引擎向他传递信息用的,此信息包括servlet初始化时所用到得参数和服务器有关的信息

2.常用的方法:

 Exception对象

    如果一个页面用到此对象,就需要把isErrorPage设置为true,否则无法编译。

 1.常用的方法:

 

原文地址:https://www.cnblogs.com/sunxiaoyan/p/8539113.html