카테고리 없음

[Project] 게시판 글보기, 수정, 삭제.

321 2021. 2. 10. 10:17

지난 시간에 만들었던 게시판 목록에서 글 제목을 클릭하면 나오는 글 내용을 구현하려고 한다.

 

글보기기능


1. board.jsp에서 제목을 클릭하면 bId가 list.bid로 반환되도록 쿼리스트링을 설정한다.

href를 보면  boardView.do로 bId의 값을 list.bid로 가져가서 실행한다는 것을 알 수 있다

만약 글번호 5를 클릭하면 주소와 내용을 이렇게 나올 것이다.

 

 

2. 서블릿 작성

 

1번 과정에서 boardView.do를 실행하는 href를 (list.btitle) 클릭하면 /boardView.do를 실행하는 서블릿으로 넘어온다.

 

 

3. DAO에서 기능작성

4. 서블릿 나머지작성

5. 클릭하면 나오는 boardView.jsp작성

 

 

 

 

 

+) 글 볼 때마다 조회수가 추가되게 하고 싶다.

 

 

DAO클래스에 hit기능추가

 

boardView메서드 실행 첫 단계에 hit을 추가해 준다.

 

 

 

 

 

 

 

글수정하기/ 글삭제하기


1. 글 수정할 때는 수정페이지가 필요하고, 글 삭제할 때는 페이지가 따로 필요하지 않기 때문에 다음과 같이 boardView.jsp 하단에 추가할 수 있다.

 

 

 

 

2. DAO에서 작성한 modify 함수

 

	public void modify(String btitle, String bcontent, String bid) {
		
		String sql = "update webboard set btitle=?, bcontent=? where bid=?";
		
		try {
			conn = getConnection();
			ps=conn.prepareStatement(sql);
			ps.setString(1, btitle);
			ps.setString(2, bcontent);
			ps.setString(3, bid);
			rs=ps.executeQuery();
		}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();
			}
		}
		
	}

 

 

 

DAO에서 구현한 delete기능

	public void delete(String bid) {
		String sql= "delete from webboard where bid=?";
		
		try {
			conn = getConnection();
			ps=conn.prepareStatement(sql);
			ps.setString(1, bid);
			rs=ps.executeQuery();
		}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();
			}
		}
		
	}

 

 

3. 서블릿 설정

else if(com.equals("/delete.do")) {
			viewPage="board.do";
			String bid=(String)request.getParameter("bid");
			BoardDAO.getInstance().delete(bid);
}else if(com.equals("/modify.do")) {
			viewPage="board.do";
			String btitle=request.getParameter("btitle");
			String bcontent=request.getParameter("bcontent");
			String bid=request.getParameter("bid");		
			BoardDAO.getInstance().modify(btitle, bcontent, bid);
			
			ArrayList<BoardDTO> list=BoardDAO.getInstance().boardView(bid);
			request.setAttribute("list", list);
}

 

4. modify.jsp 작성 /delete는 jsp파일 필요하지 않아서 스킵

 

  • 글보기 기능에서 불러올 부분이 하나뿐이라서 c:forEach안 써도 됨