您的位置:首页 > Web前端 > JavaScript

JSP中的会话跟踪技术

2009-11-30 20:54 232 查看
一:长用术语:

1,客户端:每一个浏览器窗口代表一个客户端

2,会话:指客户端和服务器端的一次请求和一次响应的过程

3,会话跟踪的目的:为了识别客户端的身份

二:常用的会话跟踪技术

1,HttpSession ,2,Cookie 3,隐藏表单,4,URL重写

三: HttpSession的使用

1,得到HttpSession对象

request.getSession ()

说明:如果客服端是第一次向服务器发送请求,那么服务器将为此客户创建一个HttpSession对象,同时在响应客户请求是将此HttpSession的id传到克服端,并却保存到浏览器的缓存中

如果,客户端不是第一次向服务器发送请求,那么,服务器将根据客服端传送的SessionId 得到指定的HttpSessioon对象,

2,如何向HttpSession对象中存储数据和取出数据

a,setAttribute(String key, Object value);此方法向Session对象中放入数据

b,getAttribute(String key);此方法将根据对应的key得到指定的值(返回一个Object对象)

3,HttpSession 过期的三种方式

a,当客服端关闭,

b,当服务器关闭

c,当客服端在HttpSession的最大过期时间没有向服务器发送请求

4,如何设置HttpSession的最大过期时间

a,通过方法,setMaxInactiveInterval(int value);//单位分钟

b,在配置文件中修改(Web.XML)

<session-config>

       <session-timeout>int value</session-timeout>

</session-config>

5,HttpSession 的常用方法

a,getId();//得到客户端的id

b,isNew();//判断Session对象是否是新的<判断客户端是否是第一次反问>

c,removeAttribute(String key);//根据指定的值移除指定的值

d,invalidate();//强制是Session对象失效

e,getCreateTime();//得到Session对象的创建时间

f,getLastAccessdeTime();//得到Session对象的最好访问时间

二:Cookie

说明:Cookie用于存储Web服务器发送给客户端的信息,(以 .txt的形式保存在客户机的硬盘上)当客户端第一次访问服务器时,服务器会为客户创建一个Cookie对象,同时在响应客户端是把Cookie对象发送到客户端,在以后的访问中,客户端会在请求的同时将Cookie对象同时发送到服务器,

1,通过构造函数创建Cookie对象

Cookie cookie = new  Cookie(String key ,Object value);

2,设置Cookie的最大保留时间

cookie.setMaxAge(int value);//单位秒

3,将Cookie对象添加到响应对象中

responsee.addCookie(Cookie obj);

4,得到客户端发送过来的Cookie对象

Cookie [] cookies = request.getCookies();//此方法将返回一个Cookie数组

5,Cookie 中的方法

a,getName();//得到Cookie中的Key,

b,getValue();//得到Cookie中的value

如何设置网络编码,和解码

java.net.URLEncoder.netCode(编码对象,编码方式);//编码

java.net.UTLEncoder.decode(解码对象,解码方式);//解码

三:ServletCOntext上下文对象

1,说明,ServletContext 表示Web运用程序的公告区域,可以被程序中的所以JSP和Servlet访问

2,方法;

a,得到公告区域   this.getContext();

b, 向公告区域中放入值,setAttribute(String key, Object balue);

c,向公告区域中取出值,getAttribute(String key);

四:跳转的两种方式

1,外部跳转,(客户端跳转)

response.sendRedirect(String URL);

2,内部跳转

a:得到请求转发器,

RequestDisPatcher dis = request.getRequestDisPatcher(String URL);//请求跳转的路径

b: 跳转 dis.forword(HttpRequest request , HttpResponse response);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息