• 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.常用的方法:

     

  • 相关阅读:
    python小白-day9 数据库操作与Paramiko模块
    python小白-day8 线程、进程、协程
    python小白-day8 socketserver模块
    python小白-day7 socket初识
    python小白-day7 面向对象高级部分
    python小白-day6 xml处理模块
    python小白-day6 ConfigParser模块
    2020软件定义网络实验二
    软件工程实践第一次个人作业
    2020软件定义网络实验一
  • 原文地址:https://www.cnblogs.com/sunxiaoyan/p/8539113.html
Copyright © 2020-2023  润新知