<body>
    <form action="servlet" method="post">
    用户名:<input type="text" name="userName"><br>
    <input type="submit" value="提交">
   
    </form>
这个是html的一个提交
这个是servlet的doget()方法
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();

HttpSession session =request.getSession(false);
String name=request.getParameter("userName");
Object count=null;
String name;
int counter=0;

if(session!=null)
{
count=session.getAttribute("counter");
}
if(count==null)
{


session=request.getSession(true);
session.setMaxInactiveInterval(2);
counter=1;
session.setAttribute("counter", new Integer(1));  session.setAttribute("user",name);
}else {
//name=(String) session.getAttribute("user");
counter=((Integer)count).intValue();
counter++;
session.setAttribute("counter", new Integer(counter));
session.setAttribute("user",name);
}


name=(String) session.getAttribute("user");
out.println(name+counter);
}

其中counter是用来计数的,统计多少人访问网站,我的意思就是setMaxInactiveInterval这个方法怎么中断用户名,现在过两秒只能中断多少人访问,每次中断后名字又进行request.getParameter("userName");这个方法,又给恢复了,有那位可以帮一下,像有的看书网站,过几分钟不支网页,用户名就断开了。

解决方案 »

  1.   

    本帖最后由 AWUSOFT 于 2011-03-03 10:25:37 编辑
      

  2.   

    不知道你的意思。
    如果统计在线人数,用session监听较好,
    如果统计网站的访问量,用application 和数据库都可以,但推荐用数据库。因为服务器只要关闭,application就变成0了
      

  3.   

    楼上二位答非所问,人家问的是session多少秒之内失效;
    1 你可以做个session listener,每次用户登录的时候,setMaxInactiveInterval设置失效时间;
    2 web.xml里面也可以配置失效时间,查下,很简单,这个针对的application;
    另外你还要加个过滤器,判断session的内容是否已经不在了,跳到登录页面即可;
    不知道这样回答你是否满意;很简单的;