标签:remove idt 动态 break lis 就会 原来 item style
接受到客户端的请求后,服务器端就会创建一个 session对象。session对象保存了所有用户的信息.当创建一个session对象时 会产生一个sessionId的一个编号与该session对象关联。
服务器通过cookie的方式把产生的sessionId 发送到客户端(浏览器)
当客户端再次请求该服务器中,会把该cookie中的sessionId读取出来,并放到请求头中发送到服务器。
服务器就可以根据客户端传过的sessionid在服务器中进行查找,来判断该请求是否是新的还是原来访问过的。
//创建一个session对象 HttpSession session = request.getSession("布尔值"); //如果过来的请求是原来访问过的,则使用原来的session对象 //(默认)true :如果是一个新的请求, 则创建新的session对象 //false:如果是一个新的请求, 则不创建新的session对象 //获得创建的session的id String sessionId = session.getId(); //获得的id的值就是Cookie的键的名字 //往session保存值:通过键(字符串)绑定值(任意数据类型) session.setAttribute("键","值"); //取出session中的值 类型 value = (类型) session.getAttribute("键"); //通过getAttribute方法取出来的值是object类型,我们还需要强制转型 //删除session中的值 session.removeAttribute("键"); //返回第一次创建会话的时间 session.getCreationTime(); //返回容器最后一次得到该会话ID的请求时间 session.getLastAccessedTime(); //对于会话指定客户请求的最大间隔时间 session.setMaxInactiveInterval(int interval); //以秒为单位。-1表示永不过期 //返回客户请求的最大间隔时间 session.getMaxInactiveInterval(int interval); //会话结束,当前存在在会话中的所有会话属性也会解除绑定 session.invalidate();
cookie 与 session的区别
cookie | session | |
---|---|---|
地点 | 客户端 | 服务器端 |
存放的数据 | 能存文本 | 存任意数据类型 |
调用HttpSession接口中的setMaxInactiveInterval(int interval): 参数以 秒为单位 setMaxInactiveInterval该方式设置session的激活时间(发呆时间)
调用HttpSession接口 invalidate()方式 ,session立即失效 (安全退出的时候)
在web 应用程序中对web.xml 进行配置 <session-config>2</session-config>。配置的是全局的session的有效期。session的默认有效期为 30 分钟 --- 服务器中 conf/web.xml 中
<session-config> <session-timeout>30</session-timeout> </session-config> <!--注意: 当操作了该服务器下的所属的资源, 该session它都会被重新激活.-->
存在数据库中
写文件
Session对象的正常使用要依赖于Cookie。URL地址重写能够取得置于Cookie中的会话,并把会话ID附加到访问应用的各个URL最后
//url重写 String new_url= response.encodeURL("地址"); //地址可以是静态的也可以是动态的 PrintWriter out = response.getWriter(); out.print("<a href=‘"+new_url+"‘>test</a>"); //对sessionURL重写的应用,在a标签中 //重定向的url重写 String url = response.encodeRedirectURL("地址"); response.sendRedirect(url);
标签:remove idt 动态 break lis 就会 原来 item style
原文地址:https://www.cnblogs.com/-Archenemy-/p/12749363.html