ServletRequestListener, ServletRequestAttributeListener
- 요청이 발생하면 발생
- HttpRequest객체에 속성이 추가, 제거, 수정되면 발생
Listener 클래스 생성 지금까지는 class에 생성하여 따로 인터페이스하고 메소드 추가했지만
Listener 클래스를 이용하여 생성하면 편리함
맨밑에 저거 두개 선택
ServletRequestListener, ServletRequestAttributeListener 구현
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
40
41
42
43
44
45
46
47
48
|
package com.listener;
import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest;
@WebListener
public class RequestListenerTest implements ServletRequestListener, ServletRequestAttributeListener {
public RequestListenerTest() {
}
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("요청이 소멸됨");
}
public void attributeRemoved(ServletRequestAttributeEvent srae) {
}
public void requestInitialized(ServletRequestEvent sre) {
System.out.print("요청이 들어옴");
System.out.println(sre.getServletContext().getContextPath());
System.out.println(((HttpServletRequest)sre.getServletRequest()).getRequestURL());
}
public void attributeAdded(ServletRequestAttributeEvent srae) {
// TODO Auto-generated method stub
}
public void attributeReplaced(ServletRequestAttributeEvent srae) {
// TODO Auto-generated method stub
}
}
|
cs |
ServletRequestListener 메소드 종류
-requestInitialized(ServletRequestEvent e) : void request객체가 생성되었을때 처리하는 메소드
-requestDestroyed(ServletRequestEvnet e) : void request객체가 소멸 되었을때 처리하는 메소드
ServletRequestAttributeListener 메소드 종류
attributeAdded(ServletRequestEvent e) : void 객체에 속성이 추가됐을때 호출되는 메소드
attributeReplaced(ServletRequestEvnet e) : void 객체의 속성이 수정되었을때 호출되는 메소드
attributeRemoved(ServletRequestEvnet e) : void 객체에서 속성이 삭제 되었을때 호출되는메소드
실행하면 console창에서 이렇게 확인할 수있다.
지금까지 패키지안에 있던 여러 클래스의 요청을 다 확인할 수 있다 이게 requestListener
System.out.println(sre.getServletContext().getContextPath());
-> 애플리케이션 이름 /03_listenerr_filter
System.out.println(((HttpServletRequest)sre.getServletRequest()).getRequestURL());
-> 경로 / http://localhost:9030/03_listener_filter/contexttest.do
'Programming | Study > JSP | Servlet' 카테고리의 다른 글
[servlet] 클라이언트가 보낸 데이터 확인하기 (0) | 2021.05.01 |
---|---|
[servlet] 데이터 처리 - get방식과 post방식 (0) | 2021.05.01 |
[servlet] SessionListener 구현 (0) | 2021.04.24 |
[servlet] ServletContextAttributeListener 구현 (0) | 2021.04.24 |
[servlet] ServletContextListener 구현 (0) | 2021.04.23 |
댓글