HttpSessionListener / HttpSessionAttributeListener
- 동시에 접속시 발생, 접속중이 세션정보 확인
- 세션속성이 추가,제거, 수정시 발생
-html코드작성
1
2
3
4
5
6
7
8
9
10
11
12
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Listener 연결하기</title>
</head>
<body>
<h1>리스너 동작확인하기</h1>
<h2><a href="sessiontest.do">SessionListener 테스터</a></h2>
</body>
</html>
|
cs |
-클래스를 추가하여 HttpSessionListener인터페이스 메소드 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package com.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListenerTest implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent arg0) {
//request.getSession() -> 매소드가 실행되면 session이 생성!
System.out.println("세션생성!");
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
//session.invalidate() -> 메소드가 실행되면 실행
System.out.println("세션소멸");
}
}
|
cs |
HttpSessionListener메소드 종류
sessionCreated(HttpSession e) : void 세션이 생성되었을 경우 실행되는 메소드
sessionDestoryed(HttpSession e) : void 세션이 무효화 되었을 경우 실행되는 메소드
-servlet클래스생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package com.listener.controller;
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("/sessiontest.do")
public class SessionListenerTestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SessionListenerTestServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
session.setAttribute("loginUser", "uer01");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
|
cs |
sessionListener실행하기
-HttpSessionAttributeListener 인터페이스 메소드 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package com.listener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListenerTest implements HttpSessionListener, HttpSessionAttributeListener {
@Override
public void attributeAdded(HttpSessionBindingEvent event) {
System.out.println("session 생성됨");
}
@Override
public void attributeRemoved(HttpSessionBindingEvent event) {
}
@Override
public void attributeReplaced(HttpSessionBindingEvent event) {
}
@Override
public void sessionCreated(HttpSessionEvent arg0) {
//request.getSession() -> 매소드가 실행되면 session이 생성!
System.out.println("세션생성!");
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
//session.invalidate() -> 메소드가 실행되면 실행
System.out.println("세션소멸");
}
}
|
cs |
HttpSessionAttributeListener 메소드 종류
attributeAdded(ServletContextAttributeEvent e) : void 새로운 속성 값이 추가될 때 실행되는 메소드
attributeRemoved(ServletContextAttributeEvent e) : void 속성 값이 제거될 때 실행되는 메소드
attributeRemoved(ServletContextAttributeEvent e) : void 속성 값이 제거될 때 실행되는 메소드
+ web.xml에 Listener 등록해주기!!!!!
'Programming | Study > JSP | Servlet' 카테고리의 다른 글
[servlet] 데이터 처리 - get방식과 post방식 (0) | 2021.05.01 |
---|---|
[servlet] RequestListener 구현 (0) | 2021.04.24 |
[servlet] ServletContextAttributeListener 구현 (0) | 2021.04.24 |
[servlet] ServletContextListener 구현 (0) | 2021.04.23 |
[Jsp/Servlet] tomcat 서버 에러 (0) | 2021.04.22 |
댓글