다음 이전 차례

8. PostgreSQL 의 JDBC 에 연동 및 한글처리

8.1 PostgreSQL 의 JDBC 연동

Tomcat 3.1 에 postgreSQL의 JDBC 연동은 의외로 간단하다. 환경변수 CLASSPATH 에 등록하기만 하면 된다. 그러면 Tomcat 실행시 자동으로 읽어서 JDBC 를 로딩한다.

CLASSPATH 설정 예

   export  CLASSPATH=$CLASSPATH:/usr/local/pgsql7.0.2/jdbc/postgresql.jar

8.2 Tomcat 에서의 한글 처리

Tomcat 에서의 한글처리는 Apache-Jserv 와 동일하다.

아래는 개략적인 소스입니다.

  ..............
  ..............

  public void doGet(HttpServletRequest req , HttpServletResponse res)
  throws ServletException,IOException 
  {
    .......
    .......
    PrintWriter out;
    res.setContentType("text/html;charset=utf-8");
    out=new PrintWriter(new OutputStreamWriter(
                     res.getOutputStream(),"KSC5601")); 
    .......
    .......
 }
   .....
   .....
  public  void doPost(HttpServletRequest req, HttpServletResponse res)
  throws ServletException,IOException 
  {
    res.setContentType("text/html;charset=utf-8");
    PrintWriter out=new PrintWriter(new OutputStreamWriter(
                                    res.getOutputStream(),"KSC5601"));
    ....
    String id=ksc(req.getParameter("id"));
    String name=ksc(req.getParameter("name"));
    String juso=ksc(req.getParameter("juso"));
    String tel=ksc(req.getParameter("tel"));
    String memo=ksc(req.getParameter("memo"));
    ....
    ....
  }
    .....
    .....

  public String ksc(String kscstr)
  throws UnsupportedEncodingException
  {
   if(kscstr==null) return null;
   return new String(kscstr.getBytes("8859_1"),"KSC5601");
  } //  ksc() 함수는 문자를 KSC5601로 변환한다.

  ............................................................

8.3 PostgreSQL 7.0.2's JDBC 에서의 한글처리

또한 포스트그레스7.0.2에 한글을 삽입하기전에 KSC5601로 변환하여야 한다. 그렇지 않으면 포스트그레스에 들어간 한글은 바로 깨진다. 기타 다른 버젼은 아마 비슷할 거로 추측되며 아직 테스트는 못해 보았다.

아래처럼 문자를 ksc()함수로 ksc5601 로 변환한 후에 포스트그레스에 insert 하면 된다.

  String id=ksc(req.getParameter("id"));
  String name=ksc(req.getParameter("name"));
  String juso=ksc(req.getParameter("juso"));
  String tel=ksc(req.getParameter("tel"));
  String memo=ksc(req.getParameter("memo"));

다음 이전 차례