Whiteship's Note


이클립스 WTP server.xml 설정이 적용되지 않을 때

모하니?/Coding : 2009.04.29 13:22


<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />

server.xml에 이런 설정이 들어있는데 이것을 인코딩 문제로

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>

이렇게 변경했습니다. 그런데 변경한 설정이 먹질 않더군요.

server를 우클릭하고 cleanup도 해봤습니다. 적용되지 않았습니다.

그래서 server를 더블클릭하고 HTTP/1,1 포트를 변경한 다음에 서버를 재가동 해봤더니 설정이 적용되서 원하는 결과를 얻을 수 있었습니다.

다시 포트를 원래대로 돌린다음에 실행해 봤더니 이번에도 적용이 됐습니다.

server.xml을 직접 편집할 경우 설정이 제대로 안 먹을 수 있으니, server를 더블클릭해서 어떤 설정을 변경한 다음 저장하고 다시 시도해보시기 바랍니다. 저처럼 될지도 몰라요~


top

  1. Favicon of http://toby.epril.com BlogIcon 토비 2009.04.29 16:10 PERM. MOD/DEL REPLY

    그지같은 파일시스템을 가진 윈도 대신 다른 OS를 쓰는 것도 하나의 방법.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.04.29 16:37 신고 PERM MOD/DEL

    오늘은 윈도우에 Eclipse 3.4를 사용했구요. 지난 번엔 맥에 STS 2를 사용했는데 같은 현상이더라구요.

    이거랑 비슷한 현상이 pom.xml 만질 때 있었던 것 같은데 같은 원인인지는 모르겠네요.

Write a comment.


톰캣 인코딩 설정해야 하는 경우

모하니?/Coding : 2008.06.26 17:51


updated 090623

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" useBodyEncodingForURI="true"/>

--------------------------------------------------------------------------
검색창에 한글만 입력하면 다음과 같은 에러가 발생한다.

org.postgresql.util.PSQLException: ERROR: character 0xc3a7 of encoding "UTF8" has no equivalent in "EUC_KR"

웹 페이지도 EUC-KR로 설정되어 있고 Postgres DB도 EUC-KR을 사용하고 있다. web.xml에 인코딩 필터를 확인해봤더니, 그것도 역시 EUC-KR로 설정되어 있다.

알턱이 없으니 사부에게 문의해서 알아냈다.

톰캣 5.5 이상 부터는 Post 방식에는 인코딩 필터를 적용할 수 있지만 GET 방식은 서버가 connector에 설정한  (server.xml) URIEncoding의 값으로 인코딩 함.

<Connector port="8209" protocol="AJP/1.3" redirectPort="8543" URIEncoding="euc-kr" />

위는 아파치랑 연동되어 있어서 아파치와 연동하는 부분에 인코딩 설정. 아마도 저 값의 기본값이 UTF-8이었거나 아파치쪽의 기본값이 UTF-8 이었나보다. 몰겠다. 자세히는;
top

  1. Favicon of http://eerien.com/blog BlogIcon 이린 2008.06.27 01:14 PERM. MOD/DEL REPLY

    안녕하세요. 제 기억에는 아마도 GET 방식의 기본 인코딩은 ISO-8859-1 이었던 걸로 기억합니다.
    한글로 입력하면 거기에 더하여 URLEncoding 으로 인코딩 됐었던 걸로 기억합니다.
    결론은 엉망이 됩니다;

    인코딩은 이곳 저곳 모두 제대로 설정 해두는게 항상 좋은 것 같습니다. 'ㅅ'

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.06.27 08:21 신고 PERM MOD/DEL

    네. 조언 감사합니다. :)

Write a comment.


MySQL 인코딩 설정 바꾸기

DB/실습 : 2007.08.30 15:44


MySQL 설정 파일을 변경하여 인코딩 변경하기 => UTF8기반으로 쓰기위한 Mysql 세팅방법
DB 생성할 때 인코딩 옵션 주기 => UTF8을 쓰기 위한 MySQL 테이블 및 데이터 취급 방법

create database test DEFAULT CHARACTER SET utf8 collate utf8_general_ci

'DB > 실습' 카테고리의 다른 글

PostgreSQL DB 백업/복구  (0) 2008.04.11
MySQL 인코딩 설정 바꾸기  (0) 2007.08.30
HSQL 데이터베이스 Persistent 모드와 In-Memory 모드  (2) 2007.07.25
MySQL DB의 데이터를 CSV파일로  (0) 2007.06.18
top

Write a comment.


Stream 인코딩 바꾸기

Java : 2007.02.28 00:19


제 블로그 RSS URL을 날리면 어떤 HTML이 날아오는지 보고 싶습니다.

String request - "http://whiteship.tistory.com";
URL url = new URL(request);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

이렇게 커넥션 객체를 생성한 다음에.. 이 커넥션에서 다시 InputStream을 얻어서 다시 아래 처럼 InputStreamReader로 그리고 이걸 다시 버퍼를 사용해서 읽을 수 있도록 BufferedReader에 연결 시킵니다.[각주:1]

BufferedReader br = BufferedReader(new InputStreamReader(connection.getInputStream()));

그리고 이후에는 br.readLine() 으로 한줄씩 읽어서 StringBuilder에 쌓아 뒀다가 출력해보면 됩니다.

그렇게 해봤습니다.
이상한 글씨들이 콘솔창에 출력됩니다. OTL..

인코딩 문제인데 구글신에게 물어보니까 InputStreamReader의 생성자를 이용해서 인코딩을 바꿀 수 있다고 합니다. 현재 인코딩을 찍어보니까[각주:2] MS949라고 출력됩니다.

RSS나 기타 오픈API를 사용한 결과물은 UTF-8을 사용한다고 합니다. 그리고 InputStreamReader의 생성자를 보니까 다음과 같이 네개의 생성자가 있었습니다.
사용자 삽입 이미지

이 중에서 제일 아래 녀석을 사용해서 다음과 같이 수정해 줍니다.

br = BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));

결과물을 확인해 보니 제대로 출력이 되는 걸 볼 수 있었습니다.

  1. 정말 이 부분은 외워 지지가 않네요. 매번 코드를 찾아보게 되는 부분입니다. [본문으로]
  2. InputStreamReader의 String getEncoding()을 사용하면됩니다. [본문으로]

'Java' 카테고리의 다른 글

Collection과 Thread 1  (0) 2007.04.24
Thread와 Collection 관련 링크 모음  (0) 2007.04.19
예제로 살펴보는 쓰레드 제어하기  (0) 2007.04.10
Java 6.0의 Collection  (4) 2007.03.22
private에 대한 착각  (2) 2007.03.05
Stream 인코딩 바꾸기  (0) 2007.02.28
SWT 프로그램 실행하기  (0) 2007.02.21
제8회 한국 자바 개발자 컨퍼런스  (2) 2007.01.25
GC관련 아티클  (0) 2007.01.19
Generics 번외 - 겉모습만 보곤 알 수 없슴.  (2) 2007.01.17
Generics  (2) 2007.01.17
top

Write a comment.


SimpleFormController 에피소드2



아래 발생한 문제는 SimpleFormController와는 전혀 관계가 없는 내용일 수도 있다는 것을 미리 알려드리고 시작해야겠습니다. 이유는 결론을 보시면 알게 되실듯.

사용자 삽입 이미지
위와 같은 리스트가 있습니다. 오호 분명히 "기선"이라는 사람이 매우 많이 있습니다. 왼쪽에 있는 search로 이동해서 "기선"을 찾아 봅시다.

사용자 삽입 이미지
이렇게 기선을 입력하고 enter 또는 search 버튼을 클릭했더니 다음과 같은 화면이 출력 됐습니다.

사용자 삽입 이미지
헐...출력할 것이 없다니.. 도대체 어디서 문제가 생긴거야???

1. 소스코드를 점검하기 시작합니다. JSP와 Controller를 점검하기 시작했습니다.

처음에는 command 객체에 값이 들어가지 않는 것 같다는 생각이 들었습니다. 중간에 출력문을 한번 넣어보면 될 것을[각주:1] 아직까지도 SimpleFormController가 어떻게 동작하는 것인지 제대로 모르기 때문에 그 떈 더욱 더 Command 객체에 값이 언제 들어가는 것인지 알 수가 없었습니다.

그리고 두번째는 지난 글에서 의문이 들었던 command 객체를 도메인 객체로 써야 하는건가? 싶어서 Member로 바꿔서도 해봤습니다. 결과는... 여전했습니다.

2. 조금더 공부하다가 Command 객체에 값이 들어갔는지 확인해봤습니다. 세상에 값이 들어가 있었습니다. 값이 들어가 있긴 한데... 한글이 깨져있더군요.

message 출력: ?¸°???

-_-;; 난감했습니다. 이전에 DB 인코딩 문제로 한참을 해맸었는데 또다시 인코딩문제인가.. ㄷㄷㄷ 거리고 있었는데 다행히 한수형이 알려주셔서 web.xml에 다음과 같이 코드를 넣어줬더니 한글이 제대로 보였습니다.

3. 좋았습니다. 이제 콘솔에 찍어보니 한글도 제대로 보이고 검색을 날렸는데... 여전히!! 못찾는겁니다. 왜?? 도대체 왜!! 못찾는거야.. 하면서 iBATIS에 SQL을 확인하러 갔습니다... 세상에...ㅠ.ㅠ
like로 바꿔야 겠어요. 흐흐흐흐흐흐흐


  1. 소스코드에 주석처리 된 부분입니다. [본문으로]

'Spring > 주소록 만들기' 카테고리의 다른 글

DisplayTag 링크 기능  (0) 2007.02.08
Validator 사용하기  (0) 2007.02.07
검색창 하나로 모든 필드에서 검색하기.  (4) 2007.02.07
SimpleFormController 에피소드2  (0) 2007.02.02
SimpleFormController 에피소드1  (2) 2007.02.02
Spring's form tag  (0) 2007.02.01
DisplayTag과 SpringMVC  (0) 2007.01.31
DisplayTag 배끼기  (2) 2007.01.31
주소록 개발 카탈로그  (4) 2006.12.30
JSP 화면 작성  (0) 2006.12.29
Spring MVC configuration 파일들 설정 하기  (0) 2006.12.26
top

Write a comment.