- HTML을 활용해 오라클에 연결하기
: 웹 환경에서 회원가입기능을 만들어 오라클에 데이터를 넣기.
HTML문서
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>form demo</title>
</head>
<body>
<form name="frm" id="frm" action="insert_ok.jsp" method="get">
<table border=1>
<tr>
<td>
사원번호 </td><td><input type="text" id="empno" name="empno" value="7001" />
</td>
</tr>
<tr>
<td>
사원이름</td><td><input type="text" id="ename" name="ename" value="HongGilDong" />
</td></tr>
<tr>
<td>
사원직급</td><td><input type="text" id="job" name="job" value="10"/>
</td></tr>
<tr>
<td>
매니저 ID</td><td><input type="text" id="manager" name="manager" />
</td></tr>
<tr>
<td>
입사일</td><td><input type="text" id="hiredate" name="hiredate" />
</td></tr>
<tr>
<td>
급여</td><td><input type="text" id="sal" name="sal" />
</td></tr>
<tr>
<td>
커미션</td><td><input type="text" id="comm" name="comm" />
</td></tr>
<tr>
<td>
부서</td><td>
<select name="deptno">
<option value=10>ACCOUNT(10)</option>
<option value=20>RESEARCH(20)</option>
<option value=30>SALES(30)</option>
<option value=40>OPERATIONS(40)</option>
</select>
</td></tr>
<tr>
<td>
성별 </td><td>
<label>
<input type="radio" name="gender" value="남자"> 남자
</label>
<label>
<input type="radio" name="gender" value="여자"> 여자
</label>
</td></tr>
<tr>
<td>
취미
</td><td>
스포츠<input type="checkbox" id="hobby1" name="hobby" value="스포츠">
독서<input type="checkbox" id="hobby2" name="hobby" value="독서">
영화감상<input type="checkbox" id="hobby3" name="hobby" value="영화감상">
요리<input type="checkbox" id="hobby4" name="hobby" value="요리"><br>
</td>
</tr>
<tr><td>
<input type="submit" value="전송">
</td></tr>
</table>
</form>
</body>
</html>
JSP 파일
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.sql.Date"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Date" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*, javax.sql.*" %>
<%@ page import="java.util.*" %>
<%
//넘어온 데이터의 한글처리
request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Employee Information</title>
</head>
<body>
<%
// 인자명들 집계
Enumeration<String> keys = request.getParameterNames();
while (keys.hasMoreElements()) {
String key = keys.nextElement();
if (key.equals("hobby")) {
out.print("hobby = ");
for (String s : request.getParameterValues("hobby")) {
out.print(s + " ");
}
out.println("<br>");
}
else {
out.print(key + " = " + request.getParameter(key) + "<br>");
} //
} // while
%>
<%
Connection connection = null;
//Statement statement = null;
PreparedStatement pstmt = null;
ResultSet resultSet = null;
%>
<%
int empno = Integer.parseInt(request.getParameter("empno"));
String ename = request.getParameter("ename");
String job = request.getParameter("job");
int deptno = Integer.parseInt(request.getParameter("deptno"));
String key = "empno";
out.print(key + " = " + request.getParameter(key) + "<br>");
key = "ename";
out.print(key + " = " + request.getParameter(key) + "<br>");
key = "job";
out.print(key + " = " + request.getParameter(key) + "<br>");
key = "deptno";
out.print(key + " = " + request.getParameter(key) + "<br>");
%>
<%
String sqlQuery = "";
int numUpd = 0;
try {
// Load the Oracle JDBC driver
Class.forName("oracle.jdbc.OracleDriver");
String username = "유저네임";
String password = "비밀번호";
String url = "jdbc:oracle:thin:@localhost:1521/xe";
// Establish the database connection
connection = DriverManager.getConnection(url, username, password);
// Execute a SQL query to retrieve employee information
String sql = "insert into emp(empno,ename,job,deptno) values(?, ?, ?, ?)";
pstmt = connection.prepareStatement(sql);
pstmt.setInt(1, empno);
pstmt.setString(2, ename);
pstmt.setString(3, job);
pstmt.setInt(4, deptno);
pstmt.executeUpdate();
pstmt.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
// Display the retrieved employee information
out.println("<table border='1'>");
out.println("<tr><td>SQL</td><td>"+sqlQuery+"</td></tr>");
out.println("</table>");
// Close the resources in the reverse order of their creation
//try { if (resultSet != null) resultSet.close(); } catch (Exception e) { out.println("resultSet");/* ignored */ }
try { if (pstmt != null) pstmt.close(); } catch (Exception e) { out.println("pstmt");/* ignored */ }
try { if (connection != null) connection.close(); } catch (Exception e) { out.println("connection");/* ignored */ }
}
%>
</body>
</html>
'AIoT' 카테고리의 다른 글
AIoT 정규 33일차 (0) | 2024.02.19 |
---|---|
AIoT 정규 32일차 (0) | 2024.02.15 |
AIoT 정규 30일차 (2) | 2024.02.13 |
AIoT 정규 29일차 (0) | 2024.02.07 |
AIoT 정규 28일차 (0) | 2024.02.06 |