JavaWeb开发网站,监测用户在线状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb开发网站,监测用户在线状态相关的知识,希望对你有一定的参考价值。

如果客户端用户非正常意外退出(如直接关机,突然停电等),用户就归于离线状态,有这种特殊情况,怎么正确的判断用户的状态啊?
请各位不吝赐教!

用session超时的特点来实现
1.用户登录,session生成 用户在线
2.用户机器断电。一定时间(这个怎么设置我就不讲了,地球人应该都知道)后session超时 通过session监听器实现 用户下线
3.用户退出 用户下线
参考技术A 用ajax吧。

网页里面加点javascript代码,在后台每120秒和服务器端通信一次。失败的话,表示客户端退出了

不过这样,服务器并发压力很大。
参考技术B 呵呵、100分就想知道这个?好吝啬..... 参考技术C 要是写程序得费时间 给你个建议 session监听

idea开发的JavaWeb电影网在线播放

今天,给大家介绍一个使用idea工具开发的JavaWeb电影在线播放网站。功能很简单,但页面很炫酷
idea导入也很简单,只需要open即可
功能介绍:
电影列表,电影详情,评价,推荐,电影分类,电影管理
技术介绍:

前端框架:bootstrap
后端:servlet+javaBean(数据库操作使用DBUtil)

项目目录介绍:

  1. dao 直接操作数据库
  2. domain 对应数据库表的实体类
  3. exception 自定义异常
  4. filter 过滤器包
  5. listener 监听器包
  6. service 处理各种业务逻辑的包
  7. utils 工具包
  8. web.servlet.client 客户端的Servlet包
  9. web.servlet.management 后台管理的servlet包

举例介绍:
下面,博主以后台的电影管理为例给大家讲解下实现流程:
访问电影列表

http://localhost:8080/java_web_movie_website_project_war_exploded/movieManagement

然后跳转至Controller控制层的相应Servlet

@WebServlet(urlPatterns = "/movieManagement")
public class MovieManagementServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        MovieService service = new MovieService();
        try {
            request.setAttribute("allMovies", service.findAllMovies());
        } catch (SQLException e) {
            e.printStackTrace();
        }        request.getRequestDispatcher("/management/movieManagement.jsp").forward(request, response);

    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

将通过业务逻辑层获取的数据封装在request中
业务逻辑层调用持久层代码

 public List<Movie> findAllMovies() throws SQLException {
        return dao.findAllMovies();
    }

使用DBUtil封装的QueryRunner对象等来操作数据库,更为简单

public List<Movie> findAllMovies() throws SQLException {
        String sql = "select * from allmovies GROUP BY name";
        QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
        return runner.query(sql, new BeanListHandler<>(Movie.class));
    }

至此,获取电影列表便完成了。
修改页面

电影管理页面

首页

电影详情页

电影列表

以上是关于JavaWeb开发网站,监测用户在线状态的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 smack 获取 facebook 用户的移动在线状态?

Javaweb 工程中 监听器 listener 讲解

iOS开发之监测网络状态

iOS开发网络篇—监测网络状态

OS开发网络篇—监测网络状态

javaweb中实现在线人数统计