本人最近在学习一个javaweb聊天项目,在这个项目中所要实现的功能比较简单:实现登陆之后可以在里面进行选择对象进行聊天,在线人数和在线人员名称都可以即时显示,信息message可以时时更新在每一个登录页面中,管理员admin具有把普通用户user踢下线的功能,而自己刚刚整合了SSM(struts+spring+mybatis)框架,并且通过maven进行jar包管理,在这里虽说不能很好体现框架的优势,但也是麻雀虽小五脏俱全。下图是项目后台的文件列表:
在这里,通过定义的监听器Mylistener使其在项目初始化的时候便声明一个Map,放在application中,用于在用户登录时保存用户相关信息,在管理员将用户踢下线的时候将Map中相对应的session的 invalidate()销毁并通过map.remove()清除即可,以下放在webchartAction中登录功能login()代码:
public String login() throwsIOException{
List list=new ArrayList();
String username=request.getParameter("username");
String password=request.getParameter("password");
user user=newuser();
user.setPassword(password);
user.setUsername(username);
session.setAttribute("username", username);
list=userService.login(user);
String message="";if (null!=application.getAttribute("message")) {
message=application.getAttribute("message")
.toString();
<