코딩한파일

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>&nbsp;<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);
	}

}

 

 

 

 

 

 

 

web.xml

<?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 문 출력해보면 

잘 등록된걸 볼수있다.