728x90
반응형
필터는 서블릿과 비슷하게 생겻다..
그래서 상속을 받아줘야하며 재정의도해줘야하고 url패턴도 지정해줘야한다
@WebFilter (urlPatterns = "/index.jsp")
public class TestFilter implements Filter{
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
}
Filter (필터)
생성절차
1.상속을 통한 자격획득 javax.servlet.Filter / implements Filter
2.등록 @webFilter를 통한 등록 및 주소설정
3.메소드 재정의를 통하여 수행할 내용을 작성 (do filter메소드)
-do filter 메소드는 필터에더 수행할 작업을 정의하는 메소드
-servletRequest request
-httpservletRequest의 상위형태
-실제 사용할때는 ServletRequest request 유형의 객체가 들어간다.
-ServletRespnese respnse
-httpServeltResponese의 상위형태
-실제 사용할때는 httpServletRespnoese 유형의 객체가 들어간다.
-FilterChain chain : 필터끼리 서로 연결되어 있는 연결정보를 의미하며, 이를 이용하여 통과 명령을 사용할 수 있다.
- 다음으로 이동하여 계속 진행하려면 사용자가 전달한 요청(request) ,응답(response)이 유지되어야한다
- 매개변수에 인자로 넣어서 전달해준다(유지시켜준다)
★★결론★★ 서블릿에서 하던 작업을 filter에서 하고싶다면 request와 response객체를 다운캐스팅해서 사용한다 !
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//설치하고 아무런 코드도 작성하지 않으면 필터를 통과할 수 없다.(대상에게 전달되지 않고 차단).
// System.out.println("테스트필터 실행!");
// //요청을 통과시키고 싶다면 다음 명령을 사용
chain.doFilter(request, response);
//차단명령 (다운캐스팅 후 진행)
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse resp=(HttpServletResponse)response;
// resp.sendError(500);//오류(500)임을 알리고 차단
// resp.sendRedirect("http://google.com"); //다른 페이지로 재접속 지시 (redirect)
}
}
'[LANG] > - HTML&CSS' 카테고리의 다른 글
[JSP] 에러페이지/에러페이징 (Feat XML) (0) | 2022.06.02 |
---|---|
[JSP] Fillter 주소규칙 (feat.인코딩방식 필터보조?) (0) | 2022.06.02 |
[HTML]개발자라면 필수로 알아야하는 에러코드 (0) | 2022.06.01 |
[JSP] Session 세션 ? (0) | 2022.06.01 |
[JSP] include (header ,footer) (0) | 2022.06.01 |
댓글