这是我得代码!
//添加登陆有效期
   if (request.getParameter("cookietime")!=null){
   java.util.Date Now=new java.util.Date();
                   Cookie UserLogin=null;
   int cookietime = Integer.parseInt(request.getParameter("cookietime"));
                   switch(cookietime){
                       case 0: cookietime=0; break;
                       case 1: cookietime=24*60*60; break;
                       case 2: cookietime=30*24*60*60;  break;
                       case 3: cookietime=365*30*24*60*60;    break;
                       default: cookietime=24*60*60; break; }
   UserLogin=new Cookie("userlogin",name);//用户登陆有效cookie
   UserLogin.setDomain("http://127.0.0.1:8080");
   UserLogin.setPath("/");
                   UserLogin.setMaxAge(cookietime);
   response.addCookie(UserLogin);
   UserLogin=null;}

解决方案 »

  1.   

    Jsp中的session使用Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.我们使用seesion功能,可以达到多个jsp程序从操作同一个java bean, 那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.)在项目实践中,我们Jsp程序中很多参数需要从数据库中读取,有的参数实际读取一次就可以,如果设计成每个用户每产生一个页面都要读取数据库,很显然,数据库的负载很大,同时也浪费时间,虽然可能有数据库连接池优化,但是尽量少使用数据库是我们编程的原则.比如,我们的test.jsp 和test1.jsp都需要得到一个参数userdir,这个userdir是从数据库中得知,使用session将大大优化性能,程序如下:设计一个javabean 存储userdir.public class UserEnv {private String userdir = "";
    private String userurl = "";public UserEnv(){
    //构建方法初始化userdir,可以从数据库中读取,这里简单给值ppp 
    userdir="pppp";
    System.out.println("init userdir, one time");
    } public String getUserdir() throws Exception{
    return userdir;} }test1.jsp程序:
    <%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/>
    <html>
    <head>
    <title>Untitled</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>this is test1.jsp:<%=myenv.getUserdir()%>
    </body>
    </html>
    test2.jsp程序:
    <%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/>
    <html>
    <head>
    <title>Untitled</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>this is test2.jsp:<%=myenv.getUserdir()%>
    </body>
    </html>  无论用户先调用test1.jsp还是test2.jsp, java bean UserEnv总是先初始化一次, 由于这个bean存在周期是seesion,因此该用户第二次以后只要在seesion有效期内再调用,myenv.getUserdir()将直接从bean内存中读取变量,不必再初始化.这样提高速度,又减少数据库访问量.这样,我们就有了一个jsp程序之间共享变量或方法 的实现办法.
      

  2.   

    第1个问题可以通过session实现!第2个问题,就算你设置了cookie,但也要有相应的语句从客户机读出cookie才能让服务器得到cookie中存放的原始信息。
      

  3.   

    tomcat\conf\web.xml
    <session-config>
        <session-timeout>30</session-timeout>
      </session-config>
    可以修改session过期时间(30为30分钟)
      

  4.   

    只要关闭了登陆窗口以及由它产生的其他窗口,session就被服务器释放了。
    session的保留时间是由服务器的设置决定的。
      

  5.   

    第二个问题,给你的cookie起个名字,然后放些必要信息
    下次访问,从一堆cookie中找到你的,然后读出来
    自然就可以认为是已经登录的
      

  6.   

    如果设置SESSION那一页关了
    那么session就消失了(和这个session有关的)
      

  7.   

    rong_xing(rrrr) 能给我源代码看看嘛?大家谁有给我看看的,my email:[email protected]