본문 바로가기

📚Study Note/Spring

web.xml 에서 스프링의 CharacterEncodingFilter 적용

<?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_3_1.xsd"
   id="WebApp_ID" version="3.1">
   <display-name>mvc01</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>

   <!-- ※ Spring MVC Framework 등록  -->
   <!--    → Front Controller 등록 -->
   <!--    → DispatcherServlet 객체 등록 -->
   
   <!--  + ●●●●●●●●●●●●●●●●●●●●인코딩 필터 등록● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●-->
   <!--브라우저의 request 가 통과하는 여과기 .통과하게 되면 여과기에서 규칙대로 뭔가가 걸러지도록 한다.  -->
   <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   </servlet>
   
   <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>*.action</url-pattern>
   </servlet-mapping>
   
   <!-- 인코딩 방식에 대한 필터를 적용해보기로 한다. 인코딩 필터 등록 -->
   <!-- 스프링이 만들어놓은 필터를 사용하기로 한다. CharacterEncodingFilter -->
   
   <filter>
   		<filter-name>encodingFilter</filter-name>
   		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
   		
   		<init-param>
   			<param-name>encoding</param-name>
   			<param-value>UTF-8</param-value>
   		</init-param>
   </filter>
   
   <filter-mapping>
   		<filter-name>encodingFilter</filter-name>
   		<url-pattern>/*</url-pattern><!--모든 요청에 대해서  -->
   </filter-mapping>
   

</web-app>

모든 요청에 대해서 encodingFilter 가 적용된다. 클래스는 org.springframework.web.filer.characterEncodingFilter

init-param 에서 encoding 방식을 지정해준다.