반응형
고객들의 이름, 이메일 주소, 전화번호를 입력받아 DB 커넥션풀을 이용하여
DB에 저장하고 전체 목록을 출력하는 JSP 프로그램
<%@ page contentType="text/html;charset=utf-8" import="javax.sql.*,java.sql.*, javax.naming.*" %> <!-- 8장과 다른부분 -->
<% request.setCharacterEncoding("utf-8"); %>
<%
// 데이터베이스 연결관련 변수 선언
Connection conn = null;
PreparedStatement pstmt = null;
try{//<!-- 8장과 다른부분 -->
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/mysql"); //8장과 다름
// 커넥션 얻기
conn = ds.getConnection();
// username 값을 입력한 경우 sql 문장을 수행.
if(request.getParameter("customer_name") != null) {
// Connection 클래스의 인스턴스로 부터 SQL 문 작성을 위한 Statement 준비
String sql = "insert into db2 values(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,request.getParameter("customer_name"));
pstmt.setString(2,request.getParameter("email"));
pstmt.setString(3,request.getParameter("telnumber"));
pstmt.executeUpdate();
}
}
catch(Exception e) {
e.printStackTrace();
}
%>
<HTML>
<HEAD><TITLE>JDBC 테스트 </TITLE></HEAD>
<BODY>
<center>
<H2>트랜잭션 test</H2>
<HR>
<form name=form1 method=post action=jdbctest_dbcp.jsp>
이름 : <input type=text name=customer_name>
email주소 : <input type=text name=email size=40>
전화번호 : <input type=text name=telnumber size=15>
<input type=submit value="등록">
</form>
<HR>
</center>
# 등록 목록<P>
<%
try{
// select 문장을 문자열 형태로 구성한다.
String sql = "select customer_name, email, telnumber from db2";
pstmt = conn.prepareStatement(sql);
// select 를 수행하면 데이터정보가 ResultSet 클래스의 인스턴스로 리턴됨.
ResultSet rs = pstmt.executeQuery();
int i=1;
// 마지막 데이터까지 반복함.
while(rs.next()) {
out.println(i+" : "+rs.getString(1)+" , "+rs.getString(2)+" , "+rs.getString(3)+"<BR>");
i++;
}
// 사용한 자원의 반납.
rs.close();
pstmt.close();
conn.close();
}
catch(Exception e) {
System.out.println(e);
}
%>
</BODY>
</HTML>
반응형
'Application > JSP Server' 카테고리의 다른 글
[JSP 프로젝트] 주소록 프로그램 (2) - 화면 구성과 데이터베이스 구성 (0) | 2021.04.28 |
---|---|
[JSP 프로젝트] 주소록 프로그램 (1) - 주소록 프로그램 분석 (0) | 2021.04.28 |
[JSP] 8. 데이터베이스 커넥션 풀과 트랜잭션 (0) | 2021.04.22 |
[JSP 실습] 7-2. 판매 제품 등록 화면 구현하기 (0) | 2021.04.15 |
[JSP] 에러잡기. Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*' at line 1 (0) | 2021.04.15 |