자바 웹 은 servlet 모니터 로 온라인 인원 을 표시 합 니 다.

본 논문 의 사례 는 자바 웹 이 servlet 모니터 로 온라인 인원 을 표시 하 는 것 을 공유 하 였 으 며,구체 적 인 내용 은 다음 과 같 습 니 다.
1.모니터 만 들 기

package com.listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
//             
public class MyServletSessionListener implements HttpSessionAttributeListener {

 @Override
 public void attributeAdded(HttpSessionBindingEvent event) {
  // TODO          
  ServletContext cx = event.getSession().getServletContext();//  session         ServletContext  
  Object objectlogincount = cx.getAttribute("logincount");//         logincount   
  String name = event.getName();
  if("is".equals(name)){//  session        is,          
   //System.out.println("       :"+event.getValue());
   if(objectlogincount==null){//  logincount  ,        
    cx.setAttribute("logincount", 1);
   }else{//         
    int a = Integer.parseInt(objectlogincount.toString());//         
    a++;
    cx.setAttribute("logincount", a);
   }
  }
  System.out.println("        :"+cx.getAttribute("logincount"));
 }

 @Override
 public void attributeRemoved(HttpSessionBindingEvent event) {
  // TODO          
  
 }

 @Override
 public void attributeReplaced(HttpSessionBindingEvent event) {
  // TODO          
  
 }

 
}
2.웹 xml 에 모니터 설정

<listener>
  <listener-class>com.listener.MyServletSessionListener</listener-class>
</listener>
3.LoginServ(servlet)로 테스트

package com.serv;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet(urlPatterns={"/LoginServ"})
public class LoginServ extends HttpServlet {

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  // TODO          
  String name = req.getParameter("user");
  String pwd = req.getParameter("pwd");
  if(true){//   get    ,            
   HttpSession session = req.getSession();
   session.setAttribute("is", name);//setAttribute()          ,        。            ,    /   。
  }
 }
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  // TODO          
  doGet(req, resp);
 }
}
캡 처 실행:
브 라 우 저 에 주소 입력:

my eclipse 콘 솔 에서 출력 합 니 다:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기