1、防止一个页面不通过登录,直接进入,在登录验证的时候设置一个session,判断是直接进入welcome还是通过登录进入的welcome
(1)设置session
HttpSession hs=req.getSession(true);
hs.setAttribute("passss","ok");
hs.setMaxInactiveInterval(30);//设置session有效期, hs.setMaxInactiveInterval(0);这样删整个hs都为空了,安全注销就是这样
session有效期也可以在.xml文件中进行设置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
这个时间一设置所有的web应用都改了(2)获取session
HttpSession hs=req.getSession(true);2、为了防止用户直接进入还可以通过隐藏表单的方法,
String var=(String)hs.getAttribute("passss");
if(var==ok)
{}
登录页面加入pw.println("<input type=hidden name=sex value=男><br/>");3、sessionId的获取
另一个页面如果获取到该参数说明不是直接进的
String sex=req.getParameter("sex");
pw.println("sex="+sex);
一个页面中写4、移除session
HttpSession ht=res.getSession(true);
String session=ht.getId();
另一个页面中同样写
HttpSession ht=res.getSession(true);
String session=ht.getId();
都打印出来,在浏览器中以新建的方式打开,两个窗口打印出来的session是一样的,因为一个客户端在服务器对应一个session空间
hs.removeAttribute("passss");5、session的用途
安全退出浏览器或者注销时就有这个操作
直接在地址栏中wel?username=&password=
这样不安全,就可以通过session进行传