336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
지금까지 서블릿에서 해왔던 한글 인코딩 처리 부분을 필터로 구현해볼것이다.
필터의 활용분얀은 매우 다양하며 잘설계해서 구현하면 여러 환경에서
코드 수정없이 추가기능을 부여하거나 제어하는 구조를 만들수있다.
우선 필터 동작 확인을 해볼것이다.
ch10의 NewsController 서블릿에서 service()의 request.setCharacterEncoding()을 주석처리해주자.
1️⃣ 필터 클래스 생성
src/main/java 폴더에서 EncodingFilter 클래스를 만든후 아래처럼 코딩해주자.
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
@WebFilter("*.nhn")
public class EncodingFilter implements Filter {
}
우클릭후 Generate > Override Method
자동생성이 완료되면 아래처럼 코딩해주자.
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter("*.nhn")
public class EncodingFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest)servletRequest;
if(httpReq.getMethod().equalsIgnoreCase("POST")) {
servletRequest.setCharacterEncoding("utf-8");
}
filterChain.doFilter(servletRequest, servletResponse);
}
}
2️⃣ 실행 및 결과 확인
톰캣서버를 실행후 NewsController을 실행해보자.
그리고 뉴스를 새로 등록해보자.
앞에서 request.setCharacterEncoding()을 지웠을땐 글자가 깨졌었을것이다.
필터를 작성해준 이후엔 한글이 정상출력됨을 알수있다.
[메인으로 돌아가기]
'Java Spring > 책공부 1 (JSP와 스프링)' 카테고리의 다른 글
26. Postman으로 REST API 테스트 (0) | 2022.07.18 |
---|---|
25. JAX-RS로 REST API 서버 구현 (0) | 2022.07.18 |
23. 리스너 종합 (0) | 2022.07.15 |
22. 필터 (0) | 2022.07.15 |
21. 리스너 (0) | 2022.07.15 |