티스토리 뷰
javax.servlet.filter 인터페이스 구현
요청 URL에 따른 HTTP 요청과 응답을 변경할 수 있는 재사용 web.xml 혹은 어노테이션으로 url 설정가능
필터 생명주기 및 주요 메서드
init( ) : 최초 1회 실행 메서드
doFilter() : 필터 실힝시 매번 실행되는 메서드
destory() : 필터 제거시 1회 실행 메서드
http://localhost/member/memberList 요청시 필터 설정에 따른 실행순서

<- 이미 만들어진 것을 상속받아서
정해진 이벤트에 관련된 메서드로 작업.
https://dololak.tistory.com/614
[서블릿/JSP] HttpSessionListener 리스너로 세션 생성 및 종료시 이벤트 처리하기
이전글 [서블릿/JSP] 리스너(Listner)란? 이벤트 리스너의 개념 설명. 구현 및 등록하기 [서블릿/JSP] 세션(Session)이란? 세션 생성하는 방법 및 세션 객체 설명 HttpSessionListener 리스너 JSP/Servlet 환경에..
dololak.tistory.com
1. 필터 생성
2.
3.
4. CommonFilter.java
package kr.or.ksmart;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter({ "/CommonFilter", "*.do" })
public class CommonFilter implements Filter {
public CommonFilter() {
}
//필터 객체가 제거될시 실행
public void destroy() {
}
//연동된 url 규칙에 맞는 호출이 왔을 경우 실행
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//다음 서블릿 및 필터 실행을 위해서는 이 메서드 실행이 있어야 한다.
//다음 실행 위임
System.out.println("filter실행 확인");
chain.doFilter(request, response);
}
//필터 객체화 될 때 1회 실행
public void init(FilterConfig fConfig) throws ServletException {
}
}
5. MainController.java
package kr.or.ksmart;
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;
@WebServlet("*.do")
public class MainController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
6. index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>인덱스 실행</title>
</head>
<body>
</body>
</html>
7. 콘솔확인
8. ServeCommonFilter.java
package kr.or.ksmart;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter({ "/SubCommonFilter", "/member/*" })
public class ServeCommonFilter implements Filter {
public ServeCommonFilter() {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("subCommonFilter");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
9.
'41기 개발자과정' 카테고리의 다른 글
20220117 제네릭 (0) | 2022.01.17 |
---|---|
20220117 싱글톤 패턴 (0) | 2022.01.17 |
20220111 el표기법, JSTL (0) | 2022.01.11 |
20220111 EL (0) | 2022.01.11 |
20220111 RESTful (0) | 2022.01.11 |