運用器實現在線人員查詢

 

package cn.class3g.web.domain;

public class User {
  private String username;
  private String password;
 
  public User() {
 
}
public User(String username, String password) {
 super();
 this.username = username;
 this.password = password;
}
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;
}


}

package cn.class3g.web.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.class3g.web.domain.User;

public class LoginServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
       this.doPost(request, response);
 
 
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      //獲取jsp頁面中的參數
  String username=request.getParameter("username");
   String password=request.getParameter("password");
 
    User user=new User(username,password);
   //getSession時創建session, 往session域中寫
    request.getSession().setAttribute("user",user);
   
    response.sendRedirect(request.getContextPath()+"/index.jsp");
   
 }

}

package cn.class3g.web.listener;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;

import cn.class3g.web.domain.User;

public class SessionAtrributListener implements HttpSessionAttributeListener {

 public void attributeAdded(HttpSessionBindingEvent se) {
  //取值   Obj=User
    Object obj=se.getValue();
 if(obj instanceof User){
  
  HttpSession session=se.getSession();
  ServletContext context= session.getServletContext();
  //實現共享檢索存儲在context實例中的對象
  Map map=(Map)context.getAttribute("map");
    if(map==null){
    map=new HashMap();
    context.setAttribute("map", map);
    
    }
 User user=(User) obj;
 map.put(user.getUsername(), session);
 
 }
 
 
 }
 
 

 public void attributeRemoved(HttpSessionBindingEvent se) {
 
 
  
  
  
 }

 public void attributeReplaced(HttpSessionBindingEvent se) {
 

 }

}

package cn.class3g.web.servlet;

import java.io.IOException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class KickUserServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
       String username=request.getParameter("username");
 Map map=(Map)this.getServletContext().getAttribute("map");
    HttpSession session=(HttpSession) map.get(username);
 
   if(session!=null){
    session.invalidate();
    map.remove(username);
   
   }
 
 request.getRequestDispatcher("/listuser.jsp").forward(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
 this.doGet(request, response);
 }

}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章