커리큘럼(12-30/변경)
01. Java
02. git
03. Database
04. Jsp [Server] (v)
05. 미니프로젝트 (3W)
06. HTML,CSS
07. JS
08. SpringFramework , SrpingBoot
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
JSP
Filter
- FrontController(서블릿) 으로 들어가기 전 요청을 가로채 검사하는 역할
필터의 생성방법
- 필터 클래스는 일반 자바 파일로 생성
- Filter인터페이스를 상속 받음
- 일반적으로 doFilter메서드를 오버라이딩
- 사용후 doFilter(rquest,responses)메서드를 반드시 사용
필터의 사용방법
- 어노테이션방법
@WebFilter({
"/notice/modify.board",
"/notice/update.board",
"/notice/delete.board"
})
public class ChainFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("필터 1번 실행됨");
chain.doFilter(request, response); // 다음 필터 or 서블릿으로 이동
}
}
- web.xml에 선언
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<display-name>MyWeb</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- filter 등록 -->
<filter>
<filter-name>first</filter-name>
<filter-class>com.myweb.util.filter.ChainFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>first</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 필터2 -->
<filter>
<filter-name>second</filter-name>
<filter-class>com.myweb.util.filter.ChainFilter2</filter-class>
</filter>
<filter-mapping>
<filter-name>second</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>