삭제기능을 추가할겁니다.
kr.co.ict.servlet에서 BoardDeleteSerblet를 만들어 줍니다.
(주소는 /boardDelete dopost만 체크 해줍니다. )
(SELETE 구문 이외는 모두 dopost로 처리합니다. )
post지역에 system.out.println으로 접속이 되는지 확인을 해보겠습니다.
* 여기서 run as로 서버에 접속을 할려면 접속은 안됩니다.
이유는 get방식이 아니라 post 방식이기 때문
get방식은 주소를 직접쳐서 들어가는 방식이기때문에 post에서는 접속이 안됨
(post로 접근할수 있는 form을 생성해줘야합니다. )
boarddetail.jsp에 post로 접근할수 있는 form을 생성하겠습니다.
)
삭제하기 버튼을 클릭하면 /boardDelete로 넘어가고,
전달하는 데이터는 지금당장은 없고 다음에 글번호로 넘길겁니다.
실행해보면
삭제하기 버튼을 확인할 수 있습니다.
콘솔창에 "삭제페이지 접근 성공" 뜨면 성공한겁니다.
버튼을 눌렀을때만 가능해야 합니다. (주소로 접근하면 에러가 뜨는게 맞습니다. 405에러 )
*get post구분하는 기준
(SELECT get 허용
SELRCT 아닌건 post만 허용
post로 특정 페이지로 넘어가는건 form을 쓰면 됩니다.
글 번호(board_num)을 넘기도록 폼을 수정하도록 하겠습니다.
name="board_num"으로 주었기 때문에 board_num으로 넘어옵니다.
boardDeleteServlet으로 와서 request.getParameter로 받아줍니다.
(int이기 때문에 integger을 이용해서 바꿔줍니다. )
실행해보면
삭제되는걸 확인할 수 있습니다.
저 번호 칸을 없애기 위해서는
boarddetaul.jsp로 와서number->hidden으로 바꿔줍니다.
(hidden - 눈에 보이지는 않지만 전달되는걸 말한다. )
없어진걸 확인할 수 있습니다.
-post방식으로 넘어간걸 selvlet에서 접수해서 처리할수 있는걸 확인할수 있음
boardDAO에 delete문을 만들어 줍니다.
deleteBoard 메서드를 만들어 줍니다.
() 글 번호로 받아서 처리를 하기 때문에 board_num을 넣어줍니다.
DB 연결
Connection 선언
쿼리문은 2종류
(SELECT인것과 아닌것)
삭제 쿼리문
?를 채워주고
첫번째 물음표에 board_num을 넣어주겠다.
(int라서 setInt로 받아줌)
pstmt.executeUpdate();실행 해줍니다.
catch로 닫아주면 끝!
BoardDeleteServlet로 와서
1. DAO 생성
2. 삭제로직 실행
(dao.(다오에서 만든 메서드 이름)(위에서 호출받은 명칭)
3. 삭제후 boardList로 리다이렉트
(포워딩은 결과페이지에 데이터를 넘겨주면서 같이 넘어갈때 사용)
/boardlist에서 실행해서 삭제버튼을 누르면 삭제되는걸 확인할 수 있습니다.