WEB/JSP

JDBC&JSP 실습

다콩잉 2022. 10. 7. 17:26

 

ex1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.util.ArrayList" %>
<%
    Connection conn = null;
    String sql = "SELECT * FROM STUDENT2";

    ArrayList<String[]> arr = new ArrayList<String[]>();
    try {
        Context init = new InitialContext();
        DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/OracleDB");
        conn = ds.getConnection();

        PreparedStatement pstmt = conn.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            String[] str = new String[2];
            str[0] = rs.getString(1);
            str[1] = rs.getString(2);
            arr.add(str);
        }
        rs.close();
    } catch (Exception e) {
        out.println("<h3>)데이터 가져오기 실패</h3>");
        e.printStackTrace();
    }
%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<h1>
    이벤트 등록
</h1>
<hr>
    <form action="ex2.jsp">
        등록 이름: <input type="text" name="name"/>
        email 주소: <input type="email" name="email"/>
        <input type="submit" value="등록">
    </form>
<hr>
<h5># 등록 목록</h5>
<%
    for (int i = 0; i < arr.size(); i++) {
%>
        <h5><%=i+1%>: <%=arr.get(i)[0]%>, <%=arr.get(i)[1]%></h5>
<%
    }
%>
<br/>
</body>
</html>

 

ex2.jsp

<%--
  Created by IntelliJ IDEA.
  User: UserK
  Date: 2022-10-07
  Time: 오후 3:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="java.util.ArrayList" %>
<%
  Connection conn=null;
  String sql = "insert into student2 (name, email) values(?, ?)";
  request.setCharacterEncoding("UTF-8");
  try{
    Context init = new InitialContext();
    DataSource ds=(DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
    conn=ds.getConnection();

    PreparedStatement stmt = conn.prepareStatement(sql);
    String name = request.getParameter("name");
    out.println(name);
    //name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
    stmt.setString(1, name);
    stmt.setString(2, request.getParameter("email"));
    if(stmt.executeUpdate()!=0){
      response.sendRedirect("ex1.jsp");
    }
  }catch(Exception e){
    out.println("<h3>레코드 등록에 실패하였습니다.</h3>");
    e.printStackTrace();
  }
%>
<html>
<head>
  <title>Title</title>
</head>
<body>

</body>
</html>
728x90