代碼雖多,一目了然先是實(shí)體Userpackage entity;public class User {?? ??? ?private String username;?? ?private String password;?? ?public User(String username, String password) {?? ??? ?super();?? ??? ?this.username = username;?? ??? ?this.password = password;?? ?}?? ?public User() {?? ??? ?super();?? ?}?? ?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;?? ?}?? ??? ??? ?}-----------------------------------------------------------------------------------------OnLineUserListener監(jiān)聽(tīng)器內(nèi)容package listener;import java.util.HashSet;import java.util.Set;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;import entity.User;public class OnLineUserListener implements ServletContextListener,?? ??? ?HttpSessionAttributeListener, HttpSessionListener {??????? private ServletContext application;?? ??? public void sessionCreated(HttpSessionEvent arg0) {?? ??? ??? ?}?? ?public void sessionDestroyed(HttpSessionEvent arg0) {?? ?HttpSession session=arg0.getSession();?? ?User logoutUser=(User) session.getAttribute("user");?? ?Set<User> logOutUser=(Set)application.getAttribute("onLineUsers");?? ?}?? ?public void attributeAdded(HttpSessionBindingEvent arg0) {?? ??? ?HttpSession session=arg0.getSession();?? ??? ?User newuser=(User)session.getAttribute("user");?? ??? ?Set<User> onLineUsers=(Set)application.getAttribute("onLineUsers");?? ??? ?onLineUsers.add(newuser);?? ?}?? ?public void attributeRemoved(HttpSessionBindingEvent arg0) {?? ??? ?User logOutUser=(User)arg0.getValue();?? ??? ?Set<User> onLineUsers=(Set)application.getAttribute("onLineUsers");?? ??? ?onLineUsers.remove(logOutUser);?? ?}?? ?public void attributeReplaced(HttpSessionBindingEvent arg0) {?? ??? ?// TODO Auto-generated method stub?? ?}?? ?public void contextDestroyed(ServletContextEvent arg0) {?? ??? ?// TODO Auto-generated method stub?? ?}?? ?public void contextInitialized(ServletContextEvent arg0) {?? ?Set<User> onLineUsers=new HashSet<User>();// 創(chuàng)建一個(gè)用于存放onLineUsers對(duì)象的set集合對(duì)象?? ?application=arg0.getServletContext();?? ?application.setAttribute("onLineUsers", onLineUsers);?? ??? ?}}-----------------------------------------------login.jsp內(nèi)容<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>? <head>??? <base href="<%=basePath%>">?? ???? <title>My JSP 'index.jsp' starting page</title>?? ?<meta http-equiv="pragma" content="no-cache">?? ?<meta http-equiv="cache-control" content="no-cache">?? ?<meta http-equiv="expires" content="0">?? ??? ?<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">?? ?<meta http-equiv="description" content="This is my page">?? ?<!--?? ?<link rel="stylesheet" type="text/css" href="styles.css">?? ?-->? </head>? ? <body>?? <form action="LoginServlet" method="post">?????????? 賬戶:<input type="text" name="username"/><br/>????????? 密碼:<input type="password" name="userpwd"/><br/> ?? <input type="submit" value="登陸"/> ? ??? </form>? </body></html>-----------------------------------------------------servlerpackage servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import entity.User;public class LoginServlet extends HttpServlet {?? ?/**?? ? * Constructor of the object.?? ? */?? ?public LoginServlet() {?? ??? ?super();?? ?}?? ?/**?? ? * Destruction of the servlet. <br>?? ? */?? ?public void destroy() {?? ??? ?super.destroy(); // Just puts "destroy" string in log?? ??? ?// Put your code here?? ?}?? ?/**?? ? * The doGet method of the servlet. <br>?? ? *?? ? * This method is called when a form has its tag value method equals to get.?? ? * ?? ? * @param request the request send by the client to the server?? ? * @param response the response send by the server to the client?? ? * @throws ServletException if an error occurred?? ? * @throws IOException if an error occurred?? ? */?? ?public void doGet(HttpServletRequest request, HttpServletResponse response)?? ??? ??? ?throws ServletException, IOException {?? ??? ?response.setContentType("text/html");?? ??? ?PrintWriter out = response.getWriter();?? ??? ?String username=request.getParameter("username");//userpwd?? ??? ?String userpwd=request.getParameter("userpwd");?? ??? ?request.getSession().setAttribute("user",new User(username,userpwd));?? ??? ?System.out.println("username"+username);?? ??? ?request.getRequestDispatcher("show.jsp").forward(request, response);?? ??? ?out.flush();?? ??? ?out.close();?? ??? ??? ??? ??? ?}?? ?/**?? ? * The doPost method of the servlet. <br>?? ? *?? ? * This method is called when a form has its tag value method equals to post.?? ? * ?? ? * @param request the request send by the client to the server?? ? * @param response the response send by the server to the client?? ? * @throws ServletException if an error occurred?? ? * @throws IOException if an error occurred?? ? */?? ?public void doPost(HttpServletRequest request, HttpServletResponse response)?? ??? ??? ?throws ServletException, IOException {?? ??? ?this.doGet(request, response);?? ?}?? ?/**?? ? * Initialization of the servlet. <br>?? ? *?? ? * @throws ServletException if an error occurs?? ? */?? ?public void init() throws ServletException {?? ??? ?// Put your code here?? ?}}----------------------------------------------web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?? http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">?<listener>? <listener-class>listener.OnLineUserListener</listener-class>?</listener>?<servlet>? <description>This is the description of my J2EE component</description>? <display-name>This is the display name of my J2EE component</display-name>? <servlet-name>LoginServlet</servlet-name>? <servlet-class>servlet.LoginServlet</servlet-class>?</servlet>?<servlet-mapping>? <servlet-name>LoginServlet</servlet-name>? <url-pattern>/LoginServlet</url-pattern>?</servlet-mapping>?<welcome-file-list>? <welcome-file>index.jsp</welcome-file>?</welcome-file-list>?<login-config>? <auth-method>BASIC</auth-method>?</login-config></web-app>-------------------------------------------show.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>? <head>??? <base href="<%=basePath%>">?? ???? <title>My JSP 'index.jsp' starting page</title>?? ??? ?<!--?? ?<link rel="stylesheet" type="text/css" href="styles.css">?? ?-->? </head>? ? <body>? ??? <c:forEach items="${onLineUsers}" var="onLineUsers">?? ??? ?<tr>?? ??? ??? ??? ?<td>${onLineUsers.username }?? ??? ?</td>?? ??? ?<td>${onLineUsers.password }?? ??? ?</td>?? ??? ?</tr>?? ??? ?<br/>??? </c:forEach>? ?? </body></html>
添加回答
舉報(bào)
0/150
提交
取消