1); Response.addCookie(c2); %> 既然可以设置,就可以取得的,在值钱的 request 对象的可以取得头信息, 可以发现在客户端每次请求的时候都会发送一个 cookie 的头信息,所以取得 cookie 则必须使用 request 对象完成。 <% Cookie c[] = request.getCookie(); For(i++;i
<%=c[i].getName()%> <%=c[i].getValue()%> <%
} %> 现在看来设置的 cookie 可以取得,可是如果按照 cookie 的理论来讲,所有 的 cookie 应该都保存在客户端,那么即使现在的浏览器关闭后,那 cookie 就不 可以继续取得。原因是还要设置 cookie 的寿命。setMaxAge() 在设置 cookie 后面加上 c1.setMaxAge(100) ; 100 是按秒计算;
10、session 、
<%@
page language="java" contentType="text/html" pageEncoding="GBK"%> <% String id= session.getId(); %> session id:<%=id%>
session id 的长度:<%=id.length()%>
没一个连接到服务器的 session id 是完全不同的,所以服务器就是依靠这 些完成的,但是需要注意的是,对于 id 的操作并不是对的,因为正常情况下如 果存在了 get 方法,就应该存在 set 方法,但是我们在 session id 中没有见过 这种方法, 上面的 cookie 自动设置的那个 cookie 就是每一个用户的 sessionid, 所以 session 在 进行操作的时候就是使用到了 cookie 的处理机制。 但是对于 session 的操作有一点必须说明的是,如果现在服务器关闭了,则 sessionid 肯定需要重新非配, 原本的 sessionid 根本就不保留,服务器关闭后 session id 就没有了,古 国现在用户需要及时服务器关
闭 session id 也可以继续保留,那么需要使用到 了序列化的机制。 所为的对象序列化,值得是一个对象通过二进制保存或者进行才传输,而且 对象所在的累必须实现 java io Serializable 接口,对于 session 本身也可以 完成这种序列化的操作,但是他不是手工完成的而是需要自动配置完成,这个配 置需要在 server.xml 中完成。
11、session 主要实现功能——登陆 、 主要实现功能—— ——登陆
而 invalidate()则是实现 session 的注销操作方法。 有三个页面:login.jsp welcome logout.jsp 分别实现登陆,进入系 统,和注销系统。代码为:login.jsp :login.
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<% String name=request.getParameter("uname"); String password=request.getParameter("upassword"); if(!(name==null||"".equals(name)||"".equals(password)||password==null)) { if("lsw".equals(name) &;&; "root".equals(password)) { session.setAttribute("userid",name); response.setHeader("refresh","2;URL=welcome.jsp"); %> 登陆成功!如果两秒内没有跳转请点击JSP">这里! <% } else { %> 登陆失败! <% } } %>
Welcome.jsp elcome.
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%> <% if(session.getAttribute("userid")!=null){ %> 欢迎<%=session.getAttribute("userid")%>光临!
&;nbsp;&;nbsp;注销 <% } else { %> 你还没有登陆,请登陆 <% } %>
Logout.jsp ogout.
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%> <% response.setHeader("refresh","2;URL=login.jsp"); session.invalidate();//注销当前的 session %> 即将跳转到登陆页面,如果不能跳转,请点击这里!
11、会话跟踪有四种; 、会话跟踪有四种;
1、通过我们的 session 提供的方法保存 2、通过 cookie 3、通过表单的隐藏域来完成 4、通过地址重写
12、session 取得用户的在线时间(单位为 s) 、 取得用户的在线时间( )
getCreationTime()获得创建时间 getLastAccessedTime