我的思路是这样:一个用户登录,如果是第一次登录且成功的话就在页面上显示:您是第一次登录,登录时间是:*年*月*日;如果用户不是第一次登录且登录成功,则在页面上显示:您最后一次登录时间是:*年*月*日(如2009年5月4日) 这次登录时间是:*年*月*日(如2009年5月25日)。现在在java文件中定义有一个lasttime 和nowtime,并存到数据库里,问题就来了,我怎样取出lasttime呢?不知道怎么写?相关的类有:LoginInfoService.java ;LoginAction.java;LoginInfo.java;UserAccountModel.java 我的LoginAction.java里代码如下:package login.action;import login.LoginInfo;
import login.service.LoginInfoService;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;import java.util.Date;
import model.UserAccountModel;public class LoginAction extends ActionSupport implements LoginInfo { private String loginname;
private String password;
public Date lasttime;
public Date nowtime; public String getLoginname() {
return this.loginname;
} public void setLoginname(String loginname) {
this.loginname = loginname;
} public String getPassword() {
return this.password;
} public void setPassword(String password) {
this.password = password;
} // 时间
public Date getNowtime() {
return nowtime;
} public void setNowtime(Date nowtime) {
this.nowtime = nowtime;
} public Date getLasttime() {
return lasttime;
} public void setLasttime(Date lasttime) {
this.lasttime = lasttime;
}//下面这个不懂写了,请帮忙,谢谢
public String execute() throws Exception {
UserAccountModel uaModel = LoginInfoService.getInstance()
.retrieveUserAccountModel(this);
if (uaModel != null) {
ActionContext.getContext().getSession().put("UserAccount", uaModel);
if (lasttime == null) {
lasttime = uaModel.nowtime;
System.out.println("你是第一次登录!" + lasttime);
} else
System.out.println("你最后一次登录时间是:" + lasttime); nowtime = new Date(System.currentTimeMillis());
System.out.println("你这次登录时间是:" + nowtime);
return "success";
}
return "input";
}}

解决方案 »

  1.   

    可以用定时器监控,例如,每一分钟监控一下,然后看session里能不能取到用户的对象
    如果能取到就继续,取不到就记录
      

  2.   

    个人认为你这样走SEESION监听器,如果当SESSION销毁时你就可以得到用户的推出时间!!!因为你根本不能阻止用户关闭浏览器!除非用户自己使用你的系统自带功能推出!
      

  3.   

    首次登陆时,nowtime和lasttime都是取的当前时间,当用户登出,下线时,
    再修改数据库中的lasttime为当前时间,
    当用户下次登陆时,取得lasttime即为上次登陆时间!
      

  4.   

    首先登陆的时候,先去从数据库中去查询lasttime最后一此登录时间是否为空,
    如果为空,则您是第一次登录XX,同时更新数据库nowtime为当前系统时间
    如果不为空,则您最后一次登录时间XX,也同时更新数据库nowtime为当前系统时间
      

  5.   

    只要session新增就更新对应记录,last_time(年月日)
      

  6.   

    其实我的想法和三楼、四楼的想法是一样,但是就是取不出那个时间,取出的时间都是当前时间。烦啊。在其他有关联的java文件里也做了相关工作,但还是不得