还可以在在方法里直接设置session的生命周期
httpsession.setMaxInactiveInterval(60);单位为秒。
2.验证码:
createcode代码如下:
package com.ru.dao;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CreateCode extends HttpServlet {
}
。。。。。。。。。。。。。。。。。。。。。。。
out.println(“验证码 :<input type=’input’ name=’vcode’><img src=’/verificationcode/CreateCode’>”);验证码的使用。
验证:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html;charset=utf-8″);
PrintWriter out = response.getWriter();
request.setCharacterEncoding(“utf-8″);
String userid=request.getParameter(“userid”);
String password=request.getParameter(“password”);
String vcode=request.getParameter(“vcode”);
//获取session
HttpSession session=request.getSession();
String vcodenum=(String)session.getAttribute(“checkcode”);
if (session!=null&&vcode.equals(vcodenum)) {
request.getRequestDispatcher(“/logsuccess”).forward(request, response);
} else{
request.setAttribute(“errinf”, “vcodeerror”);
request.getRequestDispatcher(“/login”).forward(request, response);
System.out.println(“错误”);
}
}
3.如果在ie中访问一个web,创建了一个session,我们想在关闭ie后再打开ie浏览器时得到这个session,
那么需要将ie中创建的session的JSESSIONID存储到cookie中去
需要注意的是。当创建一个session服务器就会将这个session的 JSESSIONID 传到cookie中。但是由于这个cookie没有设置时间。所以当关闭浏览器,cookie就会消失。
public void doGet(HttpServletRequest request, HttpServletResponse response)
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html;charset=utf-8″);
PrintWriter out = response.getWriter();
//获取session
HttpSession httpsession=request.getSession();
//给session赋值
Users user=new Users();
user.setUsername(“如”);
user.setPassword(“123456″);
httpsession.setAttribute(“userinf”,user);
//将Jsessionid放到cookie中,这样关闭浏览器,在打开也可以直接访问创建好的session,用其他浏览器无法访问这个cookie
Cookie cookie=new Cookie(“JSESSIONID”,httpsession.getId());
cookie.setMaxAge(30*60);
response.addCookie(cookie);
//session的生命周期默认是30分钟
//httpsession.setMaxInactiveInterval(60);
out.println(“session ‘username’ 已经创建<a href=’/MySession1/session2′>跳转到session2</a>”);
}
4.加入禁用了cookie,那么浏览器无法从cookie中得到jsessionid,就无法得到原来的session,我们可以认为的在url中传递jsessionid。(因为jsessionid存在为cookie中。但是禁用cookie后,无法保存