코딩한파일
VisitList(방명록) 2 - 어노테이션 방식, DB에연결 및 업로드
heggy
2021. 1. 13. 10:43
VisitLsit.java
package bbs;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@WebServlet("/VisitLsit")
public class VisitLsit extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head><title>방명록 리스트</title></head>");
out.println("<body>");
//쿼리작성
StringBuffer sql = new StringBuffer();
sql.append("select no, writer, memo regdate ");
sql.append("from visit ");
sql.append("order by no desc ");
//연결 객체 생성
Connection con = null;
PreparedStatement pstmt = null;
//db에 저장돼있는거를 가져올때
ResultSet rs = null;
try {
//드라이버 로딩(db 연결?)
Class.forName("oracle.jdbc.driver.OracleDriver");
//드라이버 매니저(url, id, pw)
con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl",
"scott",
"tiger");
System.out.println("[Database 연결 성공]");
pstmt = con.prepareStatement(sql.toString());
rs = pstmt.executeQuery();
while(rs.next()) {
int no = rs.getInt("no");
String writer = rs.getString("writer");
String memo = rs.getString("memo");
java.sql.Date regdate = rs.getDate("regdate");
out.println("<table align=center width=500 border=1>");
out.println("<tr>");
out.println("<th width=50>번호</th>");
out.println("<td width=50 align=center>"+no+"</td>");
out.println("<th width=70>작성자</th>");
out.println("<td width=180 align=center>"+writer+"</td>");
out.println("<th width=50>날짜</th>");
out.println("<td width=100 align=center>"+regdate+"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<th width=50>내용</th>");
out.println("<td colspan=5> <textarea rows=3 cols=50>"+memo+"</textarea></td>");
out.println("</tr>");
out.println("</table>");
out.println("<p>");
}
}catch(SQLException ss) {
ss.printStackTrace();
}catch(ClassNotFoundException fe) {
fe.printStackTrace();
}finally {
try {if(rs!=null) rs.close(); }catch(SQLException s) {}
try {if(pstmt!=null) pstmt.close(); }catch(SQLException s) {}
try {if(con!=null) con.close(); }catch(SQLException s) {}
}
out.println("<p align=center><a href=/JSPExample/bbs/write.html>글쓰기</a></p>");
out.println("</body>");
out.println("</html>");
}finally {
out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>JSPExample</display-name>
<servlet>
<servlet-name>ResponseServlet</servlet-name>
<servlet-class>com.test.ResponseServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ResponseServlet</servlet-name>
<url-pattern>/response</url-pattern>
</servlet-mapping>
</web-app>
write.html파일 실행시켜서
글 등록해보면 DB로 올라간다
select 문 출력해보면
잘 등록된걸 볼수있다.