JSP
[JSP] 간단 db연동 실습
jackypark
2022. 10. 7. 17:33
메인화면이다.
이름, email주소에 값을 넣고 등록 하면 등록 목록에 등록했던 이름,email주소가 다 나오게 된다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<center>
<h1>이벤트 등록</h1>
<form action="jdbctest2.jsp" method="get">
<hr>
등록이름: <input type="text" name="name"> email주소: <input type="email" name="email">
<input type="submit" value="등록">
</form>
</center>
<hr>
<%@ include file ="findName.jsp"%>
</body>
</html>
DB에 값을 넣는 부분이다.(INSERT 문)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.sql.*" %>
<%
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("name");
String email=request.getParameter("email");
Connection conn=null;
String sql="INSERT INTO TASK (Name,Email) VALUES (?,?)";
try{
Context init = new InitialContext();
DataSource ds=(DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
conn=ds.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,name);
pstmt.setString(2,email);
if(pstmt.executeUpdate()!=0) {
response.sendRedirect("task1.jsp");
}
}catch(Exception e){
out.println("<h3>레코드 등록실패</h3>");
e.printStackTrace();
}
%>
DB에서 값을 불러오는 부분이다
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.sql.*" %>
<%
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("name");
String email=request.getParameter("email");
Connection conn=null;
String sql="Select * from TASK";
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();
out.println("<h3>등록 목록</h3>");
int i = 1;
while(rs.next()) {
out.println("<h3>"+ i++ + ": " + rs.getString(1)+","+rs.getString(2)+"</h3>");
}
rs.close();
}catch(Exception e){
out.println("<h3>레코드 등록실패</h3>");
e.printStackTrace();
}
%>
느낀 점 :
방학때 프로젝트하면서 jdbc를 사용해서 db를 연결 시켰었는데 이번과 동일하게 연동 시켰었다.. 하지만 그때는 왜 그렇게 사용했는지 몰랐는데 이번에 다시 배우면서 이 구문을 왜 쓰는지 하나씩 알게 되었다.