<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
System.out.println("sessionID"+session.getId());
if(name.equals("lg")&& pwd.equals("sbb")){
session.setAttribute("uname",name);
session.setAttribute("upwd",pwd);
request.getRequestDispatcher("welcome.jsp").forward(request,response);
}else {
//登陆失败
response.sendRedirect("login.jsp");
}
%>
<%Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies){
if (cookie.getName().equals("JSESSIONID")){
System.out.println("JSESSIONID"+cookie.getValue());
}
}
%>
session:会话
session不是内置对象
当客户端第一次请求服务端的时,在生成session时,会同时生成一个sessionID,并且会将这个sessionID复制一份,命名为JESSIONID放在cookie中,返回给服务端(一一对应)
客户端与服务端通过JSESSIONID与sessionID对应
session保存客户端信息
如果cookie中的JSESSION与session中的sessionID相同,那么则匹配成功
匹配不成功就分配session
Session图解:
session方法:
String getId():获取sessionId
boolean isNew():判断是否是新用户(第一次访问)
void invalidate():使session失效
setAttribute();
getAttribute();
void setMaxInactive(秒):设置最大有效非活动时间
int getMaxInactive():获取最大有限 非活动时间
cookie和session的区别:
session cookie
保存的位置 服务端 客户端
安全性 较安全 较不安全
保存的内容 Object String