1.session对象
session机制是一种服务器端的机制,在服务器端保存信息。用于存储与用户相关的会话信息
2.session对象的常用方法
方法名称 | 说明 |
void setAttribute(String key,Object value) | 以key/value的形式保存对象值 |
Object getAttribute(String key) | 通过key获取对象值 |
void invalidate() | 设置session对象失效 |
String getId() | 获取sessionid |
void setMaxInactiveInterval(int interval) | 设定session的非活动时间 |
int getMaxInactiveInterval() | 获取session的有效非活动时间(以秒为单位) |
void removeAttribute(String key) | 从session中删除指定名称(key)所对应的对象 |
3.session与窗口的关系
每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口可以重新创建一个浏览器对象。
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同
每个session都有一个唯一的sessionid
public String getId();
4.使用session对象存取数据
使用属性保存数据
从属性中读取数据,必要时进行数据转换
public void setAttribute(String name, Object value);
用法:session.setAttribute("userName", "张三丰");
public Object getAttribute(String name);
用法:String userName=(String)session.getAttribute("userName");
5.会话的清除与过期
程序主动清除session数据
服务器主动清除长时间没有再次发出请求的session
6.程序主动清除session数据的两种实现方式
1、设置会话失效:session.removeAttribute(String name)
2、只移除会话的一个属性:session.removeAttribute(String name)
7.服务器主动清除长时间没有再次发出请求的session的两种实现
1、通过setMaxInacterval(int interval),单位是秒
2、修改tomcat服务器的web.xml,单位是分钟
8.JSP页面包含操作
1、使用<%@include%>指令实现静态包含 <%@include file="URL"%>
2、使用<jsp:include>标签实现动态包含 <jsp:include page="URL">
9.静态包含与动态包含的区别
静态包含:先将页面包含,后执行页面代码,即将一个页面的代码复制到另一个页面中。被包含的页面内容发生变化时,包含页面将被重新编译。
动态包含:先执行页面代码,后将页面包含,即将一个页面的运行结果包含到另一个页面中。被包含的页面内容发生变化时,包含页面不会重新编译。
10.application对象
application对象代表web本身,整个web应用共享一个application对象,该对象主要用于在多个jsp页面或者Servlet之间共享变量。
application对象开始于服务器的启动,终止于服务器的关闭。
application对象实现了用户间的数据共享,可以存放全局变量。
11.application对象的常用方法
方法名称 | 说 明 |
void setAttribute(String key,Object value) | 以key/value的形式保存对象值 |
Object getAttribute(String key) | 通过key获取对象值 |
String getRealPath(String path) | 返回相对路径的真实路径 |
12. 对象的作用域
page的作用域:对应的作用域访问对象为pageContext对象
request作用域:对应的作用域访问对象为request对象
session作用域:访问对象为session对象
application作用域:访问对象为application对象
名称 | 说 明 |
page作用域 | 在一个页面范围内有效,通过pageContext对象访问 |
request作用域 | 在一个请求范围内有效 |
session作用域 | 在一次会话范围内容有效 |
application作用域 | 在一个应用服务器范围内有效 |
13.Cookie 简介
浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器进行响应后就关闭与该用户的连接。当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。
为了弥补这个缺陷,Netscape开发出了Cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。
Cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。
14.Cookie作用
Cookie是web服务器保存在客户端的一系列文本信息。
1、对特定对象的追踪(Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告)
2、实现各种个性化服务(Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务)
3、简化登录(Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点)
15.JSP中使用Cookie
拆功能创建Cookie对象 Cookie newCookie = new Cookie(String key, String value);
由服务器端向客户端写入Cookie对象 response.addCookie(newCookie);
读取客户端的Cookie对象 Cookie[] cookies = request.getCookies();
16.Cookie的常用方法
方法名称 | 说 明 |
void setMaxAge(int expiry) | 设置cookie的有效期,以秒为单位 |
void setValue(String value) | 在cookie创建后,对cookie进行赋值 |
String getName() | 获取cookie的名称 |
String getValue() | 获取cookie的值 |
int getMaxAge() | 获取cookie的有效时间,以秒为单位 |