Tomcat 3.1 에 postgreSQL의 JDBC 연동은 의외로 간단하다. 환경변수 CLASSPATH 에 등록하기만 하면 된다. 그러면 Tomcat 실행시 자동으로 읽어서 JDBC 를 로딩한다.
CLASSPATH 설정 예
export CLASSPATH=$CLASSPATH:/usr/local/pgsql7.0.2/jdbc/postgresql.jar
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로 변환한다.
............................................................
또한 포스트그레스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"));