개발은 재밌어야 한다
article thumbnail
반응형

 

지난번 프로젝트를 실행하면 Hello world와 현재 시각이 나오는데 한글부분이 깨져서 ?로 나오는 것을 확인할 수 있습니다.

이 부분을 UTF-8로 변환하여 한글로 나오게 처리합니다.

프로젝트를 선택한 후 Project > Properties로 들어갑니다.

Resource > Text file Encoding에서 Other을 클릭하여 UTF-8로 바꿔준 후 Apply and Close하여 적용합니다.

 

Window > Preferences로 들어가서 General > Workspace에 들어가서 똑같이 UTF-8로 설정해줍니다.

그 후 프로젝트를 클릭해서 src > main > webapp > WEB-INF > web.xml에 들어가가서 source를 클릭합니다.

그럼 다음과 같은 서블릿 관련 xml파일의 코드에 한글 인코딩 관련 코드를 <web-app></web-app>영역 바로 아래 단계에 다음과 같이 추가해줍니다.

	<!-- 한글 인코딩 Start -->
	<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>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<!-- 한글 인코딩 End -->

그 다음 src > main > webapp > WEB-INF > views > home.jsp에 들어가서

<%@ page session="false" %>는 지워주고

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>

를 추가해줍니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<html>
<head>
	<title>Home</title>
</head>
<body>
<h1>
	Hello world!  
</h1>

<P>  The time on the server is ${serverTime}. </P>
</body>
</html>

 

이제 인코딩 관련 설정은 모두 끝났습니다.

 

웹 프로젝트는 가능하면 절대 경로를 이용하는 구조를 사용하는 것이 바람직하므로, server를 더블클릭해서 톰캣 설정으로 들어가 modules를 클릭하여 '/'경로로 프로젝트가 실행될 수 있도록 처리합니다.

프로젝트 클릭 후 Edit 클릭
기존에 path가 /controller로 설정되어 있어 http://localhost:8081/controller/와 같이 실행된므로 '/'로 바꿔준다.

다시 프로젝트 서버를 재시작하면 한글이 정상적으로 출력되고 프로젝트의 실행도 주소창에 localhost:8081만 입력해도 깔끔하게 웹이 출력되는 것을 확인할 수 있다.

반응형
profile

개발은 재밌어야 한다

@ghyeong

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!