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]+"  "); } %> </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()+" "); } %><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.常用的方法: