zoukankan      html  css  js  c++  java
  • 监听器(测试在线人数的)第一种 HttpSessionBindingListener

    index.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: admin
      Date: 2019/10/15
      Time: 11:52
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>HttpSessionBindingListener登录界面</title>
    </head>
    <body>
    
    <form action="doLogin.jsp"method="post">
        <table align="center">
            <tr><td>
                账号姓名: <input type="text"name="userName"placeholder="请输入账号名">
                <input type="submit"value="登录">
    
            </td></tr>
        </table>
    
    
    </form>
    </body>
    </html>

    doLogin.jsp:

    <%@ page import="pojo.User" %><%--
      Created by IntelliJ IDEA.
      User: admin
      Date: 2019/10/15
      Time: 11:54
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>HttpSessionBindingListener验证</title>
    </head>
    <body>
    
    <%
    
        String userName = request.getParameter("userName");
        if(userName==null||userName.equals("")){
            response.sendRedirect("index.jsp");
        }else{
            //登录成功!
            User user = new User();
            user.setUserName(userName);
            session.setAttribute("user",user);
            response.sendRedirect("onLine.jsp");
        }
    %>
    
    </body>
    </html>

    onLine.jsp:

    <%@ page import="pojo.User" %>
    <%@ page import="constants.Constants" %><%--
      Created by IntelliJ IDEA.
      User: admin
      Date: 2019/10/15
      Time: 11:57
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>在线人数</title>
    </head>
    <body>
    
    
    <%
        User user = null;
        if(session.getAttribute("user")==null){
            response.sendRedirect("index.jsp");
        }else{
            user = (User)session.getAttribute("user");
    
    
    %>
    
    欢迎您: <%=user.getUserName()%>
    当前在线人数: <%=Constants.USER_COUNT%>
    <a href="loginOut.jsp">注销</a>
    <%
        }
    
    %>
    </body>
    </html>

    loginOut.jsp:

    <%--
      Created by IntelliJ IDEA.
      User: admin
      Date: 2019/10/15
      Time: 12:00
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>注销</title>
    </head>
    <body>
    
    <%
    
    session.invalidate();
    response.sendRedirect("index.jsp");
    %>
    
    </body>
    </html>

    javaBean:

    Constants类:
    package constants;
    
    public class Constants {
        public static int USER_COUNT = 0;
    }

    User类:

    package pojo;
    
    import constants.Constants;
    
    import javax.servlet.http.HttpSessionBindingEvent;
    import javax.servlet.http.HttpSessionBindingListener;
    
    public class User implements HttpSessionBindingListener {
        private String userName;
        private String password;
        public void valueBound(HttpSessionBindingEvent httpSessionBindingEvent) {
    
            Constants.USER_COUNT++;
        }
    
        public void valueUnbound(HttpSessionBindingEvent httpSessionBindingEvent) {
    
            Constants.USER_COUNT--;
        }
    
        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;
        }
    }
  • 相关阅读:
    poj1904 King's Quest
    ACM竞赛须掌握的知识 以及 2个版本的POJ推荐 @ NKOJ discuss 转载的
    poj1466
    C++23中设计模式的factory模式
    poj3667 hotel
    poj1505 Copying Books
    在linux系统中安装VSCode(Visual Studio Code)
    Spring_的jar详细说明
    java开发问题总结4Maven使用问题汇总
    线程同步之信号量(sem_init,sem_post,sem_wait)
  • 原文地址:https://www.cnblogs.com/bichen-01/p/11676910.html
Copyright © 2011-2022 走看看