1. write_ok.jsp를 만들고 아래의 내용을 입력한다.
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%
String s_name=new String(request.getParameter("name").getBytes("8859_1"),"UTF-8");
String s_password=request.getParameter("password");
String s_email=request.getParameter("email");
String s_homepage=request.getParameter("homepage");
String s_subject=new String(request.getParameter("subject").getBytes("8859_1"),"UTF-8");
String s_memo=new String(request.getParameter("memo").getBytes("8859_1"),"UTF-8");
String s_ip = request.getRemoteAddr();
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "오라클DB아이디", "오라클DB비번");
String str_sql = "INSERT INTO board (name,password,email,homepage,subject,memo,ip,wrietime) VALUES(?,?,?,?,?,?,?,'123123')";
※주의!! wrietime 은 원래 writetime인데 제가 테이블만들때 컬럼명에 오타를냈습니다. 귀찮아서 그냥 쓰려고 저렇게 만들었습니다.
PreparedStatement pstmt = conn.prepareStatement(str_sql);
pstmt.setNString(1,s_name);
pstmt.setNString(2,s_password);
pstmt.setNString(3,s_email);
pstmt.setNString(4,s_homepage);
pstmt.setNString(5,s_subject);
pstmt.setNString(6,s_memo);
pstmt.setNString(7,s_ip);
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
out.println(e);
}
%>
<html>
<head>
<meta charset="UTF-8">
<script language=javascript>
self.window.alert("전송완료");
location.href="write.html";
</script>
</head>
<body>
</body>
</html>
2. 이제 write.html에서 내용을 입력하면 db에 insert가 되는걸 확인할 수 있다.
※ 참고용 코드가 실행되는 순서
- Oracle JDBC 드라이버 클래스 로딩: Class.forName("oracle.jdbc.driver.OracleDriver");
- 데이터베이스 연결 생성: Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "jsp", "root");
- SQL 쿼리문 작성: String str_sql = "INSERT INTO BBS (name,password,email,homepage,subject,memo,ip,wrietime) VALUES(?,?,?,?,?,?,?,SYSDATE)";
- Prepared Statement 생성: PreparedStatement pstmt = conn.prepareStatement(str_sql);
- Prepared Statement의 매개변수 값 지정: pstmt.setNString()을 이용하여 매개변수에 값 할당
- 쿼리 실행: pstmt.executeUpdate();
- Prepared Statement와 데이터베이스 연결 닫기: pstmt.close(); conn.close();
'공부 > JSP 혼공' 카테고리의 다른 글
VMware에 CentOS7올리기 (2) | 2023.04.04 |
---|---|
10. [게시판 실습] include 지시자 사용하여 DB 연결 부분 분리 (1) | 2023.03.26 |
8. [게시판 실습] JDBC 드라이버 준비 (0) | 2023.03.25 |
7. [게시판 실습] 데이터베이스와 입력 폼 만들기 (0) | 2023.03.25 |
6. [게시판 실습] 게시판 기능 정의 및 개요 (0) | 2023.03.25 |