database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 4467 게시물 읽기
No. 4467
Servet 에서 JDBC 사용중 예외인데요..
작성자
JDBC
작성일
2002-12-09 18:46
조회수
1,072

우선 로컬에서

 

import java.sql.*;

 

 

public class TestJdbc

{

public static void main(String args[]) throws Exception

{

String url = "jdbc:postgresql://localhost:5432/guest";

String user = "guest";

String pwd = "***";

 

Class.forName("org.postgresql.Driver");

Connection con;

Statement stmt;

ResultSet result;

int v_num;

String v_id;

String v_passwd;

 

con = DriverManager.getConnection(url, user, pwd);

stmt = con.createStatement();

result = stmt.executeQuery("SELECT num, id FROM test");

 

while (result.next())

{

v_num = result.getInt("num");

v_id = result.getString("id");

System.out.println("NUM: " + v_num + " ID: " + v_id);

}

stmt.close();

con.close();

}

}

 

이 프로그램을 구동시키면 아무런 문제 없이 돌아갑니다.

 

(출력:

NUM: 1 ID: user1

NUM: 2 ID: user2 )

 

그런데요.. 서블릿에서 비슷한 내용을 출력하라고 하면 자꾸만

드라이버 로딩에서 예외가 발생하네요.. ㅠ.ㅠ

 

import javax.servlet.*;

import javax.servlet.http.*;

 

import java.io.*;

import java.sql.*;

 

 

public class TestJdbc extends HttpServlet

{

 

public void init(ServletConfig cfg)

throws ServletException

{

}

 

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws IOException, ServletException

{

res.setContentType("text/html");

PrintWriter out = res.getWriter();

 

String url = "jdbc:postgresql://localhost:5432/guest";

String user = "guest";

String pwd = "***";

 

out.println("Hello World ^^<br>");

 

try {

//Class.forName("org.postgresql.Driver");

Class.forName("postgresql.Driver");

} catch (ClassNotFoundException cnfExc) {

out.print(cnfExc.getMessage() + "<br>");

}

 

Connection con;

Statement stmt;

ResultSet result;

 

int v_num;

String v_id;

String v_passwd;

 

try

{

con = DriverManager.getConnection(url, user, pwd);

stmt = con.createStatement();

result = stmt.executeQuery("SELECT num, id FROM test");

 

while (result.next())

{

v_num = result.getInt("num");

v_id = result.getString("id");

out.println("NUM: " + v_num + " ID: " + v_id);

}

stmt.close();

con.close();

 

} catch (SQLException sExc) {

out.println(sExc.getMessage());

}

out.close();

}

}

 

소스를 이렇구요.. 실행시키면 컴파일은 잘되고.. 출력은

 

Hello World ^^

postgresql.Driver

 

이렇게 나오죠..

 

답변 좀 달아주십시요 ^^*

이 글에 대한 댓글이 총 5건 있습니다.

try {

//Class.forName("org.postgresql.Driver");

Class.forName("postgresql.Driver");

} catch (ClassNotFoundException cnfExc) {

out.print(cnfExc.getMessage() + "<br>");

}

 

위에 주석처리한 부분은 뭐죠?

주석처리한 부분이 맞는데요..

 

Class.forName("org.postgresql.Driver");

//Class.forName("postgresql.Driver");

 

이렇게 해보시죠..

 

맨처음에 TestJdbc 클래스에서는 그렇게 하셨네요 -.-

 

서블릿에서 안되는 경우라면.. jdbc 드라이버에 클래스패스가 안잡힌것 같네요..

사용하시는 서블릿 컨테이너의 클래스패스를 확인해보세요

윤명식님이 2002-12-09 19:38에 작성한 댓글입니다.

쩝.. 참고로 주석처리 한거.. 첨에는 그걸로 해서

안되서 다시 그렇게 바꾸어 본겁니다. 그리고..

그렇게 써도 무방하답니다. 답글 감사하지만.. ㅠ.ㅠ

그 이유는 아닙니다.

JDBC님이 2002-12-10 03:54에 작성한 댓글입니다.

프로그램을 자세하게 보진 않았으나,

일단은 postgres 자체의 jdbc 도 postgres 버전과

함께 자꾸 변화는 과정이라 버전에 따라 되던것이 안되고 그런경우도 있습니다.

모든것이 제데로 되어 있다면 (원래 syntax 데로 썼다면) 버저을 바꿔서 해보세여

블루님이 2002-12-10 13:59에 작성한 댓글입니다.

catch 문에서 getMessage() 말고요..

cnfExc.printStackTrace() 한 결과를 보여주실수 있나요?

 

드라이버를 찾을수 없다는 문제는.. 대부분 클래스패스 설정이 안되어 있는경우입니다.

윤명식님이 2002-12-11 12:43에 작성한 댓글입니다.

postgresql.jar를

 

WEB-INF/lib 밑에 넣어보세요

 

그리고 톰캣재기동.

이상학님이 2002-12-11 13:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4471cron으로 자동백업을 하려는... [1]
김현수
2002-12-11
1277
4469postgres를 새로 설치한후 db를 접근할수없습니다. [1]
박선미
2002-12-10
1037
4468시퀀스 값을 세팅해주고 싶어여 [3]
박기원
2002-12-10
1201
4467Servet 에서 JDBC 사용중 예외인데요.. [5]
JDBC
2002-12-09
1072
4466디비서버가 안뜸. [2]
이런
2002-12-09
1170
4465JDBC를 이용하여 파일내용을 테이블에 올리려면 어떻게 해야 되나요? [1]
러프
2002-12-07
1109
4464python 설치문의 입니다..
진윤오(uzpia)
2002-12-06
1034
4504┕>게임만 잘 한다면 만사 형통 ~!!
야호신난다
2003-01-02 23:29:08
1088
4506┕>게임만 잘 한다면 만사 형통 ~!!
야호신난다
2003-01-03 03:24:36
982
4579┕>인터넷의 모든 동영상은 나의 컴으로 ...
김성
2003-02-13 10:30:02
1128
4615┕>인터넷사이트에서의 북한주민접촉승인제 폐지를 위한 서명 운동
피플
2003-03-11 15:12:13
951
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다