
다음 시험에서 JSP와 서블릿을 이용한 게시판 리스트 출력 손코딩 시험을 본다고하여 정리해보는 게시판 출력!!!
[조건]
-- DB 생성
CREATE DATABASE test;
-- 게시판 테이블 작성
CREATE TABLE tbl_bbs(
idx INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
content VARCHAR(200) NOT NULL,
reg_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
reg_id VARCHAR(20) NOT NULL,
mod_date TIMESTAMP NULL,
mod_id VARCHAR(20) NULL
)
COMMENT = '게시판 테이블'
;
-- 간단한 예시 데이터 넣기
BEGIN NOT atomic
SET @i = 1;
while @i <= 20 DO
INSERT INTO tbl_bbs (title, content, reg_date, reg_id)
VALUES (CONCAT('제목',@i), CONCAT(@i,'번째 내용입니다.'), SUBDATE(CURRENT_TIMESTAMP(),@i), CONCAT('testId',@i));
SET @i = @i+1;
END while;
END;
package test;
public class BbsDTO {
private String idx;
private String title;
private String content;
private String reg_date;
private String reg_id;
private String mod_date;
private String mod_id;
public String getIdx() {
return idx;
}
public void setIdx(String idx) {
this.idx = idx;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getReg_date() {
return reg_date;
}
public void setReg_date(String reg_date) {
this.reg_date = reg_date;
}
public String getReg_id() {
return reg_id;
}
public void setReg_id(String reg_id) {
this.reg_id = reg_id;
}
public String getMod_date() {
return mod_date;
}
public void setMod_date(String mod_date) {
this.mod_date = mod_date;
}
public String getMod_id() {
return mod_id;
}
public void setMod_id(String mod_id) {
this.mod_id = mod_id;
}
}
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class BbsDAO {
public Connection conn;
public Statement stmt;
public PreparedStatement psmt;
public ResultSet rs;
public BbsDAO() {
try {
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb://localhost:3306/test";
String id = "user";
String pwd = "1234";
conn = DriverManager.getConnection(url, id, pwd);
System.out.println("JDBC 연결 성공!");
} catch (Exception e) {
e.printStackTrace();
}
}
public List<BbsDTO> selectList() {
List<BbsDTO> list = new ArrayList<BbsDTO>();
String sql = "SELECT idx, title, content, reg_date, reg_id, mod_date, mod_id"
+ " FROM tbl_bbs";
try {
psmt = conn.prepareStatement(sql);
rs = psmt.executeQuery();
while(rs.next()) {
BbsDTO dto = new BbsDTO();
dto.setIdx(rs.getString("idx"));
dto.setTitle(rs.getString("title"));
dto.setContent(rs.getString("content"));
dto.setReg_date(rs.getString("reg_date"));
dto.setReg_id(rs.getString("reg_id"));
dto.setMod_date(rs.getString("mod_date"));
dto.setMod_id(rs.getString("mod_id"));
list.add(dto);
}
} catch(SQLException e) {
e.printStackTrace();
}
return list;
}
public void close() {
try {
if(rs != null) rs.close();
if(psmt != null) psmt.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
package test;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
public class bbsController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BbsDAO dao = new BbsDAO();
List<BbsDTO> list = dao.selectList();
for(BbsDTO dto : list) {
System.out.print(dto.getIdx() + "|");
System.out.print(dto.getTitle() + "|");
System.out.print(dto.getContent() + "|");
System.out.print(dto.getReg_date() + "|");
System.out.print(dto.getReg_id() + "|");
System.out.print(dto.getMod_date() + "|");
System.out.print(dto.getMod_id() + " \r\n");
}
dao.close();
}
}

안녕하세요! 혹시 천재교육 부트캠프에 관련해서 여쭤봐도 될까요?..ㅜㅜㅜ