使用listener,实现在线用户列表时,显示第一次输入的用户,,(代码多,但是
代码虽多,一目了然
先是实体User
package 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监听器内容
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 logOutUser=(Set)application.getAttribute("onLineUsers");
}
public void attributeAdded(HttpSessionBindingEvent arg0) {
HttpSession session=arg0.getSession();
User newuser=(User)session.getAttribute("user");
Set onLineUsers=(Set)application.getAttribute("onLineUsers");
onLineUsers.add(newuser);
}
public void attributeRemoved(HttpSessionBindingEvent arg0) {
User logOutUser=(User)arg0.getValue();
Set 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 onLineUsers=new HashSet();// 创建一个用于存放onLineUsers对象的set集合对象
application=arg0.getServletContext();
application.setAttribute("onLineUsers", onLineUsers);
}
}
-----------------------------------------------
login.jsp内容
My JSP 'index.jsp' starting page
账户:
密码:
-----------------------------------------------------
servler
package 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.
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet.
*
* 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.
*
* 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.
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
----------------------------------------------web.xml
listener.OnLineUserListener
This is the description of my J2EE component
This is the display name of my J2EE component
LoginServlet
servlet.LoginServlet
LoginServlet
/LoginServlet
index.jsp
BASIC
-------------------------------------------show.jsp
My JSP 'index.jsp' starting page
[tr]
[td]${onLineUsers.username }
[/td]
[td]${onLineUsers.password }
[/td]
[/tr] |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|