2024.04.25
JSP와 DB연동
JDBC
Java Database Connectivity
자바에서 DB 프로그래밍을 하기 위해 사용되는 API
JDBC API 사용 어플리케이션의 기본 구성
연동 테스트
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.SQLException" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>연동 테스트</title>
</head>
<body>
<%
String driverName = "oracle.jdbc.OracleDriver";
String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:xe";
String dbId = "user01";
String dbPass = "1234";
Connection conn = null;
try{
//JDBC 수행 1단계 : 드라이버 로드
Class.forName(driverName);
//JDBC 수행 2단계 : Connection 객체 생성
conn = DriverManager.getConnection(jdbcUrl,dbId,dbPass);
out.println("정상적으로 연결되었습니다.");
}catch(Exception e){
e.printStackTrace();
}finally{
//자원정리
if(conn!=null)try{conn.close();}catch(SQLException e){}
}
%>
</body>
</html>
insert.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.util.DBUtil" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글 쓰기 처리</title>
<link rel="stylesheet" href="../css/style.css" type="text/css">
</head>
<body>
<%
//POST 방식으로 전달된 데이터 인코딩 타입 지정
request.setCharacterEncoding("utf-8");
//전송된 데이터 반환
String name = request.getParameter("name");
String title = request.getParameter("title");
String passwd = request.getParameter("passwd");
String content = request.getParameter("content");
//DB 연동
Connection conn = null;
PreparedStatement pstmt = null;
String sql = null;
try{
//Connection 객체 반환
conn = DBUtil.getConnection();
//SQL문 작성
sql = "INSERT INTO tboard (num,name,title,passwd,content,reg_date) VALUES (tboard_seq.nextval,?,?,?,?,SYSDATE)";
//JDBC 수행 3단계 : PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setString(1,name);
pstmt.setString(2,title);
pstmt.setString(3,passwd);
pstmt.setString(4,content);
//JDBC 수행 4단계 : SQL문 실행
pstmt.executeUpdate();
%>
<div class="result-display">
<div class="align-center">
글 등록 성공!<p>
<input type="button" value="목록"
onclick="location.href='selectTest.jsp'">
</div>
</div>
<%
}catch(Exception e){
%>
<div class="result-display">
<div class="align-center">
오류 발생! 글 등록 실패!<p>
<input type="button" value="글 쓰기"
onclick="location.href='insertTestForm.jsp'">
</div>
</div>
<%
e.printStackTrace();
}finally{
//자원 정리
DBUtil.executeClose(null, pstmt, conn);
}
%>
</body>
</html>
'IT 국비 교육' 카테고리의 다른 글
쌍용교육센터 - 50일 (0) | 2024.04.29 |
---|---|
쌍용교육센터 - 49일 (0) | 2024.04.26 |
쌍용교육센터 - 47일 (0) | 2024.04.24 |
쌍용교육센터 - 46일 (0) | 2024.04.23 |
쌍용교육센터 - 45일 (0) | 2024.04.22 |