Exception starting filter Set Character Encoding

새 프로젝트를 인계 받고 톰캣을 시작하니 아래와 같은 에러가 발생했다.

  12월 01, 2020 14:01:47 오전 org.apache.catalina.core.StandardContext filterStart
  심각: Exception starting filter Set Character Encoding
  java.lang.ClassNotFoundException: filters.SetCharacterEncodingFilter
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    ... 생략 ...

java.lang.ClassNotFoundException: filters.SetCharacterEncodingFilter

말 그대로 xml에서 사용하는 해당 클래스가 없다는 건데, 구글링 하니 의미없는 class raw 파일만 올려놓거나 project의 web.xml을 수정 하라는 등의 부정확한 해결 방법을 올려놓기만 했길래 내가 찾은 방법도 올려본다.

해결 방법 1

해당 프로젝트 우클릭 properties -> Deployment Assembly -> Add -> Java Build Path Entries -> next -> apply
하지만 이 방법이 안 통할 경우도 있다.

해결 방법 2

  1. Project Explorer 에서 Servers -> 해당 프로젝트를 구동하는 tomcat -> web.xml 열기
  2. Set Character Encoding을 찾는다.
  3. 해당 내용을 주석 처리 후 다음 내용을 넣는다.
<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

728x90
반응형

+ Recent posts