AIoT

AIoT 정규 31일차

맥기짱짱 2024. 2. 15. 09:18

- 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="스포츠">&nbsp; 
                     독서<input type="checkbox" id="hobby2" name="hobby" value="독서">&nbsp;
                     영화감상<input type="checkbox" id="hobby3" name="hobby" value="영화감상">&nbsp;
                     요리<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