统计用户在线人数案例
1. 添加JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登陆</title> </head> <body> <h4>可用账户:rabbitx/123456</h4> <hr/> <form action="login.do" method="POST"> <fieldset> <legend>登陆</legend> 账户:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="登陆"> </fieldset> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>在线用户数统计</title> </head> <body> <h2>当前用户:${sessionScope.username}</h2> <h2>在线用户数:${applicationScope.count}</h2> <a href="logout.do">注销</a> </body> </html>
2. 添加Action
package org.rabbitx.web.struts2.user.action; import java.util.Map; import org.apache.struts2.dispatcher.SessionMap; import org.apache.struts2.interceptor.ApplicationAware; import org.apache.struts2.interceptor.SessionAware; public class UserAction implements SessionAware,ApplicationAware{ private Map<String, Object> session; private Map<String, Object> application; private String username; private String password; @Override public void setSession(Map<String, Object> session) { this.session = session; } @Override public void setApplication(Map<String, Object> application) { this.application = application; } public String login() { if("rabbitx".equals(username) && "123456".equals(password)) { session.put("username", username); Integer count = (Integer)application.get("count"); if(null == count) { count = 0; } application.put("count", ++count); return "success"; }else { return "fail"; } } @SuppressWarnings("rawtypes") public String logout() { Integer count = (Integer)application.get("count"); if(count != null && count > 0) { application.put("count", --count); } ((SessionMap)session).invalidate(); System.out.println("session invalidate ..."); return "success"; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
3. 配置Action
<package name="online-user-statistic" extends="struts-default"> <action name="login" class="org.rabbitx.web.struts2.user.action.UserAction" method="login"> <result name="success">/statistics/homepage.jsp</result> <result name="fail">/statistics/login.jsp</result> </action> <action name="logout" class="org.rabbitx.web.struts2.user.action.UserAction" method="logout"> <result name="success">/statistics/login.jsp</result> <result name="fail">/statistics/login.jsp</result> </action> </package>
相关推荐
在本案例中,“Struts在线统计人数”是指使用 Struts 框架实现的一种功能,它可以实时计算并展示网站或应用的在线用户数量。 要实现这样一个功能,首先我们需要理解 Struts 的工作原理。Struts 将请求分发到控制器...
4. 数据统计模块:系统自动统计选课数据,如各课程选课人数、学生选课比例等,为决策提供依据。 5. 安全模块:通过用户权限控制、数据加密等手段,确保系统的安全性,防止数据泄露或被非法操作。 压缩包中的...
4. 查询统计:提供查询功能,如查看个人选课情况、课程选修人数等。这需要设计合理的SQL查询语句,结合JDBC执行。 5. 系统维护:包括数据备份、恢复、异常处理等,确保系统的稳定运行。 在实际开发过程中,我们需要...
7.6 统计在线人数功能 7.7 小结 第8章 网络购物车(jsp+servlet+javabean) 8.1 网络购物车原理 8.2 实现网络购物车功能 8.3 小结 第9章 搜索引擎(lucene+web spider) 9.1 关于搜索引擎的基本...
8. 报表统计:生成各类统计报表,如就诊人数、药品消耗量等,便于管理层决策。 通过学习和实践SSH医院管理系统,开发者不仅可以深入理解Spring、Hibernate和Struts的用法,还能掌握Java Web开发的常用技术和最佳...
4. **报表与统计**:生成各类报表,如员工薪资统计、部门人数统计等,为管理层决策提供数据支持。可能需要利用到JasperReport或者iText等报表工具。 5. **系统设置**:包含系统参数配置、语言切换等功能,提供系统...
6. **查询与统计**:管理员可以查看选课情况,统计各课程的选课人数,以便于调整教学资源。 在实现过程中,开发者还需要关注性能优化,如合理配置缓存以减少数据库访问,以及错误处理和日志记录,确保系统稳定运行...
5. 数据统计与报表:提供各类统计报表,如上机人数、收入统计等,帮助管理层决策。 四、开发工具与框架 开发过程中可能用到的工具有Eclipse、IntelliJ IDEA等Java集成开发环境,数据库可能选择MySQL,前端页面可能...
本系统采用Java Server Pages(JSP)技术进行开发,结合了Servlet、JavaBean和MVC(Model-View-Controller)设计模式,实现了相册、留言版、日志等多种功能,同时具备浏览人数统计能力,为用户提供了一站式的个性化...
5. **报表统计**:管理员可以生成选课统计报表,分析各课程的选课人数,以便调整课程设置或资源分配。 6. **权限控制**:通过SSH框架的控制层,系统实现了不同角色的权限控制,例如,学生只能查看和修改自己的信息...
2. 关键技术研究:深入研究MVC三层设计模式,包括JSP、JavaBean和Servlet的结合,Struts中的MVC设计,Servlet监听器技术用于在线人数统计,过滤器技术用于用户授权验证,以及会话状态管理和JavaScript客户端脚本技术...
3. 框架选择:可选Spring MVC或Struts2作为MVC框架,提供更好的结构化和可维护性。 四、系统功能模块 1. 用户管理:包括管理员、学生、维修人员等多种角色,不同角色有不同的操作权限。 2. 宿舍信息管理:录入、...
- 统计分析:对运营数据进行统计分析,如乘车人数、收入、延误率等。 通过这些模块,SSH公交管理系统可以有效地支持公交公司的日常运营和决策制定,提高效率,减少人为错误,优化服务。由于系统包含了数据库,下载...
- 数据统计分析:可能包含对班级人数、男女比例等数据的统计和展示。 6. **系统部署与运行** 完成开发后,学生信息管理系统需要部署在支持Servlet和JSP的Web服务器上,例如Tomcat或Jetty。配置好环境变量,包括...
6. **课程信息统计**:对课程的选课人数、平均分等进行统计分析,展示课程的热门程度和难易程度。 7. **分组查询**:例如按班级、专业等条件进行学生信息的筛选和展示,这需要设计合理的数据库索引和查询优化。 8....
- Listener在对象生命周期中的关键事件(如session创建、销毁,或者特定属性的设置和移除)上触发,适合进行辅助性的管理任务,如初始化资源、统计在线人数等。 - 示例:在Spring整合Struts时,Listener可以用来...