2021/02/05 - [코딩 공부/게시판 만들기] - 게시판만들기3-2 기능구현(DTO, DAO)
게시판만들기3-2 기능구현(DTO, DAO)
DTO만들기 1. 우리가 sqldeveloper나 sts를 이용할때 exe파일이 아닌 바로가기를 만들어서 사용하는 것 처럼 데이터를 사용할때도 안전하고 분별해서 사용할 수 있도록 DTO라는 클래스를 이용한다. DB
readmeplz.tistory.com
위 글과 같은 방식으로 BoardDTO와 BoardDAO를 구현한다.
1.BoardDTO 만들기


private 변수선언 후 `generate getter and setter`
결과

2.DAO에서 게시판 목록보기 구현하기.

소스코드
public ArrayList<BoardDTO> list() {
ArrayList<BoardDTO> dtos = new ArrayList<BoardDTO>();
String sql = "select * from webboard";
try {
conn = getConnection();
ps = conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
BoardDTO dto = new BoardDTO();
dto.setBid(rs.getInt("bid"));
dto.setBname(rs.getString("bname"));
dto.setBtitle(rs.getString("btitle"));
dto.setBcontent(rs.getString("bcontent"));
dto.setBdate(rs.getString("bdate"));
dto.setBhit(rs.getInt("bhit"));
dto.setBgroup(rs.getInt("bgroup"));
dto.setBstep(rs.getInt("bstep"));
dto.setBindent(rs.getInt("bindent"));
dtos.add(dto);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(rs!=null) rs.close();
if(ps!=null) ps.close();
if(conn!=null) conn.close();
}catch(Exception e) {
e.printStackTrace();
}
}
return dtos;
}
나머지는 login과 비슷. ArrayList에 담는 내용을 주로 확인하면 된다.
3. 서블릿 내용만들기

4. board.jsp에 태그라이브러리추가하기

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
큰 그림을 보면 자료명과 코드 내용은 이렇게 흘러간다.

4번 과정에 답글띄어쓰기 기능을 추가한다.


- 서블릿주소를 servlet이라는 뜻의 board.se로 했지만 나중에 *. do로 바꾼다.
- board.jsp에서 폼액션이 boardView.jsp로 가면서 제목을 클릭하면 글 내용을 볼 수 있게 한다.
- 게시판을 다 만들고 글을 쓰는 것이라서 캡쳐본이 왔다 갔다 한다.
- dto.setBid(rs.getInt("bid")) 내용에서 만약 DTO를 사용하지 않았다면 String id=rs.getInt(“bid”)일 것이다.