Java 관련/Spring Legecy

[Spring] encodingFilter로 한글 설정하기

씨네 2022. 3. 31. 14:00
728x90

이번에는 요청하고 응답하는것을 연결하는 것을

Spring Legacy Project를 만들겠습니다!

저는 프로젝트 이름은 SpringMVC로 했으며 패키지는 com.mvc.hello로 하겠습니다

(Spring_23을 참고해주세요!)

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<h1>요청 연습</h1>
	
	<a href="home">home...</a>

</body>
</html>

src/main/webapp에 index.jsp를 만들겠습니다!

(html로 만들어도 원래는 떠야하는데 버전호환문제 때문인지 안되더라구요 그래서 jsp로 만들었습니다)

HomeController로가서 RequestMapping의 value에 "/"로 되어있는 것을 "/home"으로 바꾸겠습니다.

이상태로 실행시켜보면

잘 실행이 됩니다.

이번에는 web.xml에서 encodingFilter를 적용하여 한글이 깨지지 않도록 작성 해보겠습니다.

혹시 아무 이유없는 에러 뜨시는 분들은 이클립스 오류일겁니다.

맨 윗줄에 java를 대문자로 바꿔주시면 에러가 사라지더라구요,,,

왜그런지는 모르겠습니다만...

Java로 바꾸거나 JAVA로 바꾸면 사라집니다!

	<!-- encoding filter -->
	<filter>
		<filter-name>encoding</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>
		<init-param>
			<param-name>encodingFilter</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>coding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

해당 코드를 추가해주시면됩니다!

파일 아래쪽에 추가해주시면되는데요.

코드 작성하고 실행시켜볼게요!

잘 작동됩니다~

728x90