관리 메뉴

nkdk의 세상

8장 서블릿을 이용한 db접속하여 자료 가져오기 본문

My Programing/JSP and Servlet

8장 서블릿을 이용한 db접속하여 자료 가져오기

nkdk 2008. 3. 9. 01:00
// C:\jdk1.5.0_09\jre\lib\ext 에다가
// mysql-connector-java-5.0.4-bin.jar
// ojdbc14.jar
// jsp-api.jar
// servlet-api.jar 파일
// 4개가 존재해야 한다.

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class ServletDb extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
Connection conn;
PreparedStatement pstmt;
ResultSet rs;
public void init() throws ServletException{
try {
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// conn=DriverManager.getConnection("jdbc:odbc:mysqldb", "root", "123");
// Class.forName("oracle.jdbc.driver.OracleDriver");
// conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:java", "scott", "tiger");

Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123");

pstmt=conn.prepareStatement("select * from sangdata");
} catch (Exception e) {
System.out.println("연결 실패 : " + e);
return;
}
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("euc-kr");
response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();

out.println("<html><h2> *** 상품 자료 *** </h2>");
try {
// 한글이 깨질 경우는 아래와 같이 하되 스탠다드 설치가 아닌 euc-kr 로 설치 되어 있으면 똑같다.
//String name = new String(rs.getString(2).getBytes("8859_1"), "euc-kr");
rs = pstmt.executeQuery();
while(rs.next()) {
out.println(rs.getString(2) + " " +rs.getString(3) + " " + rs.getString(4) + "
");
}
} catch (Exception e) {
System.out.println("sql 오류: "+e);
return;
}
}

public void destroy(){
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {

}
}
}