高分!!!在JavaBean里怎样可以取得用户Session的值

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:30:59
我用一个JavaBean来监听是否有用户打开浏览器,如果有用户打开浏览器的话:
根据Session或者Cookie如果不为空,就是正式用户,就把当前时间写入数据库,到用户关闭浏览器,再取到时间,相减得到一个数,再写入数据库来做一个用户在线时间的统计。

我现在的问题是在JavaBean文件里取不到用户Session

请大家给出提示代码,解决必奖高分。
先谢谢各位,以下是我的代码,请大家再看看,解决马上结帖。

package com.counter;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.*;
import com.data.MaxRecordDataBean;

public class SessionCounter implements HttpSessionListener {
private static int activeSessions = 0;
private HttpServletRequest request;

public void sessionCreated(HttpSessionEvent se) {
activeSessions++;
//我想当有用户打开浏览器的时候,在这里取到用户的Cookie,如果Cookie不为空的话,(注意是Cookie,不是Session)就为用户统计在线时间。
}

public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions > 0) {

JavaBean里得不到Session的值是什么意思了?
你在别的类就能得到了?
不就是request.getSession().getAttribute("用户Session的名字");
你的意思是不是在Action类能找到request而你写的javaBean没有这个东西?
那你就像定义private String userName;一样定义一个
private HttpServletRequest request;
不就行了么?

你这样搞不定,在现时间可以通过那个httpsession的监听器实现,value绑定,value解除

抢分..