什么样式表一般用于大型网站,模板的网站都有哪些内容,郑州郑州网站建设河南做网站公司哪家好,网络信息公司名字Servlet Session 跟踪 Http是一种“无状态”协议#xff0c;所以需要保存session会话#xff0c;维持Web服务器连接。
Cookies 一个Web服务器可以分配一个唯一的session会话ID存储至Web客户端的cookie中#xff0c;对于客户端的后续请求可以使用接收到的cookie来识别。 但是…Servlet Session 跟踪 Http是一种“无状态”协议所以需要保存session会话维持Web服务器连接。
Cookies 一个Web服务器可以分配一个唯一的session会话ID存储至Web客户端的cookie中对于客户端的后续请求可以使用接收到的cookie来识别。 但是由于部分浏览器不支持cookie所以需要更换方式维持session会话。
隐藏表单字段
input typehidden namesessionid value12345每当Web浏览器发送请求时session_id值可以用于保持不同的 Web浏览器跟踪。 但单击常规超文本链接不会导致表单提交因此隐藏的表单字段也不支持常规的session会话跟踪。
URL重写 URL重写即使用Get明文方式保持session会话。
http://llocalhost/index.html?sessionid12345其缺点在于每一次重写URL时都会分配一个session会话ID造成系统极大的开销。
HttpSession对象 HttpSession对象是Servlet提供的会话接口提供了一种跨多个页面请求或访问网站时识别用户以及存储有关用户信息的方式。
获取HttpSession对象
HttpSession session request.getSession();HttpSession方法
序号方法 描述1public Object getAttribute(String name)该方法返回在该 session 会话中具有指定名称的对象如果没有指定名称的对象则返回 null。2public Enumeration getAttributeNames()该方法返回 String 对象的枚举String 对象包含所有绑定到该 session 会话的对象的名称。3public long getCreationTime()该方法返回该 session 会话被创建的时间自格林尼治标准时间 1970 年 1 月 1 日午夜算起以毫秒为单位。4public String getId()该方法返回一个包含分配给该 session 会话的唯一标识符的字符串。5public long getLastAccessedTime()该方法返回客户端最后一次发送与该 session 会话相关的请求的时间自格林尼治标准时间 1970 年 1 月 1 日午夜算起以毫秒为单位。6public int getMaxInactiveInterval()该方法返回 Servlet 容器在客户端访问时保持 session 会话打开的最大时间间隔以秒为单位。7public void invalidate()该方法指示该 session 会话无效并解除绑定到它上面的任何对象。8public boolean isNew(如果客户端还不知道该 session 会话或者如果客户选择不参入该 session 会话则该方法返回 true。9public void removeAttribute(String name)该方法将从该 session 会话移除指定名称的对象。10public void setAttribute(String name, Object value) 该方法使用指定的名称绑定一个对象到该 session 会话。11public void setMaxInactiveInterval(int interval)该方法在 Servlet 容器指示该 session 会话无效之前指定客户端请求之间的时间以秒为单位。
HttpSession实例
public class SessionTrack extends HttpServlet{public void doGet(HttpSevletRequest request,HttpServletResponse response) throws ServletException,IOException{//获取session对象若不存在session会话则创建一个session对象HttpSession session request.getSession(true);//获取session创建时间Date createTime new Date(session.getCreationTime());//获取该页面访问的最后一次时间Date lastAccessTime new Date(session.getLastAccessedTime());String title 欢迎回到我的网站;Integer visitCount new Integer(0);String visitCountKey new String(visitCount);String userIDKey new String(userID);String userID new String(ABCD);// 检查网页上是否有新的访问者if (session.isNew()){title 欢迎来到我的网站;session.setAttribute(userIDKey, userID);} else {visitCount (Integer)session.getAttribute(visitCountKey);visitCount visitCount 1;userID (String)session.getAttribute(userIDKey);}session.setAttribute(visitCountKey, visitCount);// 设置响应内容类型response.setContentType(text/html);PrintWriter out response.getWriter();String docType !doctype html public \-//w3c//dtd html 4.0 transitional//en\\n;out.println(docType html\n headtitle title /title/head\n body bgcolor\#f0f0f0\\n h1 align\center\ title /h1\n h2 align\center\Session 信息/h2\n table border\1\ align\center\\n tr bgcolor\#949494\\n thSession 信息/thth值/th/tr\n tr\n tdid/td\n td session.getId() /td/tr\n tr\n tdCreation Time/td\n td createTime /td/tr\n tr\n tdTime of Last Access/td\n td lastAccessTime /td/tr\n tr\n tdUser ID/td\n td userID /td/tr\n tr\n tdNumber of visits/td\n td visitCount /td/tr\n /table\n /body/html);}
}删除Session会话数据 以下有几种删除会话的选择
删除特定属性
public void removeAttribute(String name) //name为key值删除整个会话
public void invalidate()设置会话过期时间
public void setMaxInactiveInterval(int interval) //interval超时时间注销用户 调用logout注销Web服务器的客户端并把属于所有用户的所有session会话设置为无效。 web.xml配置
session-configsession-timeout15/session-timeout !-- 以分钟为单位默认为30分钟 --
/session-config