기본 콘텐츠로 건너뛰기

라벨이 톰캣인 게시물 표시

[ JAVA ] Spring + Tomcat 에서 한글 (UTF-8) 설정하기.

  스프링 프레임워크와 Tomcat을 사용하는 환경에서 한글을 UTF-8 로 처리하는 방법은 여러 가지가 존재한다. 그 중에서 일반적으로 사용할 수 있는 방법을 정리해 놓도록 한다.    우선 당연한 것이겠지만 원본 소스 코드의 문서 인코딩이 당연히 UTF-8 이어야 한다. Windows Preference 에서 Workspace의 텍스트 파일 인코딩을 UTF-8로 설정하면 된다.   Tomcat의 Server.xml 에서 Connector에 URIEncoding을 UTF-8로 설정하면 된다. ... <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> ...   스프링 프레임워크에서 기본적인 POST 에서 한글 처리 방식으로 Filter를 설정하면 된다. web.xml 아래와 같이 설정이 가능하다. ... <!-- 모든 Filter 들 중에서 가장 처음에 존재하여야 함 (단, String 기반의 JSON 반환에서는 적용되지 않음) --> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>enc

[ TOMCAT ] 하나의 웹 어플리케이션을 여러 개의 인스턴스로 구동해 보기 (테스트용)

  이전 게시글에서 Tomcat 수동 배포에 대해서 검토를 해 보았으니 이번에는 하나의 웹 어플리케이션을 하나의 Tomcat Engine 으로 Instance 만 여러 개를 만들어 구동하는 방법에 대해서 알아 보도록 한다. Tomcat Multiple Instance 개념   하나의 Tomcat 으로 여러 개의 인스턴스를 만들어서 사용하기 위해서는 약간의 개념(?)을 이해해야 한다. 제일 먼저 Tomcat 의 구조를 이행해야 하므로 간단하게 알아보도록 하자.   위의 그림은 Tomcat 의 기본 폴더 구조를 나타내는 것이다. 각 폴더의 의미는 다음과 같다. lib - Tomcat Engine 이 사용하는 외부 라이브러리 (*.jar) 관리 폴더 bin - Tomcat 실행/종료와 관계되는 스크립트 관리 폴더 conf - Tomcat 에 올라갈 웹 어플리케이션에 대한 설정 파일 관리 폴더 logs - Tomcat 의 로그 관리 폴더 temp - Tomcat Engine 에서 사용하는 임시 파일 폴더 webapps - 웹 어플리케이션이 배포되는 어플리케이션 관리 폴더 work - JSP 파일이 Servlet 으로 컴파일된 클래스 (*.class) 관리 폴더   폴더들이 상당히 많이 존재하지만 정작 Tomcat 만을 위해서 존재하는 폴더는 "lib" 와 "bin" 폴더 뿐이다. 따라서 웹 어플리케이션의 서비스를 운영하는데 사용되는 폴더들은 나머지 "conf", "logs", "temp", "webapps", "work" 폴더가 된다.    여기서 헷갈리지 않아야 하는 것은 어플리케이션이 하나의 인스턴스이고 인스턴스가 생성되어 실행이 되려면 하나의 JVM 에서 처리가 되어야 한다. 따라서 Multiple Instance 라고 하는 것은 결국 여러 개의 JVM을 운영하겠다는 것이고 여기에 각

[ TOMCAT ] 웹 어플리케이션 수동 배포 해 보기. (간략)

  개발하는 동안에 보통 Eclipse에 Servers 에 Tomcat 을 등록하고 Maven 을 이용해서 배포를 하고 사용하게 된다. 그러나 상황에 따라서는 Eclipse 를 이요하지 않고 Tomcat 에 직접 배포를 해서 테스트를 해야하는 상황이 발생하게 된다. 이 글을 작성하게 된 것도 Eclipse에서 Tomcat 를 실행하면 아무 문제 없는데 테스트 서버에 배포가 되어 실행이 되면 Tomcat 실행 중에 오류가 발생하는 것 때문에 임시로 간략하게 테스트 한 것을 정리해 놓도록 한다.   Tomcat 은 설치 버전이 아니라 Zip 배포 버전을 사용하였고, 위치는 D:\Tomcat7 이며, 웹 어플리케이션은 test-apps (프로젝트 명)라고 가정하고 테스트를 진행하도록 한다. (단, 하기의 내용은 실제 각 개발자의 환경에 따라서 다를 수 있으므로 반드시 맞는 방법이라고 할 수는 없다) 배포 대상 생성 및 복사   Eclipse에서 빌드를 하여 War 파일과 배포 폴더를 생성한다. 보통은 Eclipse에서 Maven 을 이용하여 빌드를 하게 되므로 빌드 후에 해당 프로젝트의 Target 폴더를 확인하면 War 파일과 배포 폴더가 생성된 것을 확인할 수 있다. 배포는 War 파일이 아니라 배포 폴더 (test-apps) 를 이용하도록 한다.   배포 폴더를 복사하여 Tomcat 폴더의 "webapps" 밑에 넣도록 한다. ( 보통은 WebContent / Library / Classes 들을 배포하지만, Maven 빌드릉 통해서 해당 항목들이 모두 배포 폴더와 War에 포함되어 있으므로 폴더채로 복사를 하면 된다) Context 설정 (server.xml 파일)   Tomcat 폴더 밑의 conf 폴더에 server.xml  파일이 존재한다. 이 파일에 Tomcat 이 구동되었을 때 사용할 어플리케이션 Context 를 설정해 주어야 한다. server.xml  파일을 열고 "<Host>...<