개발하는지호 2024. 1. 22. 13:45

Filter

클라이언트의 요청에 따라 적절한 Servlet  이 동작하기 전에 먼저 동작하는 클래스 이다. 

 

이를 적용하기 위해서 web.xml에서 경로를 설정해줘야 하는데,

 

 

박스 안에 있는 것처럼 설정하면 된다.

 

이때, 모든 것들을 filter 하겠다는 의미로 

 

<url-pattern></url-pattern> 사이에 

 

/*를 입력 해준다.

 

그 다음

 

chain.doFilter(req,res) 로 필터를 시작해준다.

 

하지만, req.setCharacterEncoding이 있지만 한글이 깨지는 현상이 발생한다. 

 

그 이유는 저 코드는 자바 내에서만 작동하는 것이기 때문이다.

 

즉, 웹에 띄우는 것은 또 다르게 Encoding을 해줘야 하는 것이다.

 

해결 방법은 웹용 코드를 입력해줘야 한다.

 

바로 

resp.setContentType("text/html; charset=UTF-8");

 

이 것을 넣어줘야 한다.

 

 

최종적으로 이렇게 수정할 수가 있고 정상적으로 웹에서 한글이 안 깨지고 띄울 수가 있다.