본문 바로가기

닷컴's_열공/JSP

JSP JDBC예제(Statement)

파일명 : jdbctest.jsp


<%@ page contentType="text/html;charset=euc-kr" import="java.sql.*" %>
<% request.setCharacterEncoding("euc-kr"); %>

<%
 // 데이터베이스 연결관련 변수 선언
 Connection conn = null;
 Statement stmt = null;

 // 데이터베이스 연결관련정보를 문자열로 선언
 String jdbc_driver = "oracle.jdbc.driver.OracleDriver";
 String jdbc_url = "jdbc:oracle:thin:@localhost:1521:ORCL";
 
 try{
  // JDBC 드라이버 로드
  Class.forName(jdbc_driver);

  // 데이터베이스 연결정보를 이용해 Connection 인스턴스 확보
  conn = DriverManager.getConnection(jdbc_url,"scott","tiger");

  // Connection 클래스의 인스턴스로 부터 SQL  문 작성을 위한 Statement 준비
  stmt = conn.createStatement();

  // username 값을 입력한 경우 sql 문장을 수행.
  if(request.getParameter("username") != null) {
   String sql = "insert into jdbc_test values('"+request.getParameter("username")+"','"+request.getParameter("email")+"')";
   stmt.executeUpdate(sql);
  }
 }
 catch(Exception e) {
  System.out.println(e);
 }

%>
<HTML>
<HEAD><TITLE>JDBC 테스트 </TITLE></HEAD>
<BODY>
<center>
<H2>이벤트 등록</H2>
<HR>

<form name=form1 method=post action=jdbctest.jsp>
등록이름 : <input type=text name=username>
email주소 : <input type=text name=email size=20>
<input type=submit value="등록">
</form>
<HR>
</center>
# 등록 목록<P>
<%
 try{
  // select 문장을 문자열 형태로 구성한다.
  String sql = "select username, email from jdbc_test";

  // select 를 수행하면 데이터정보가 ResultSet 클래스의 인스턴스로 리턴됨.
  ResultSet rs = stmt.executeQuery(sql);
  int i=1;

  // 마지막 데이터까지 반복함.
  while(rs.next()) {
   out.println(i+" : "+rs.getString(1)+" , "+rs.getString("email")+"<BR>");
   i++;
  }

  // 사용한 자원의 반납.
  rs.close();
  stmt.close();
  conn.close();
 }
 catch(Exception e) {
  System.out.println(e);
 }
%>
</BODY>
</HTML>