class BoardDeleteCon
package control;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
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 model.BoardBean;
import model.BoardDAO;
@WebServlet("/BoardDeleteCon.do")
public class BoardDeleteCon extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
reqPro(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
reqPro(request, response);
}
protected void reqPro(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//글 삭제이기에 글번호를 입력
int num =Integer.parseInt(request.getParameter("num"));
//데이터베이스에 접근하여 하나의 게시글을 리넡하는 메소드
BoardDAO bdao =new BoardDAO();
//빈클래스 타입으로 리턴
BoardBean bean =bdao.getOuneUpdateBoard(num);//조회수를 증가시키지 않은 메소드
request.setAttribute("bean", bean);
RequestDispatcher dis =request.getRequestDispatcher("BoardDeleteForm.jsp");
dis.forward(request, response);
}
}
BoardDeleteForm.jsp
<%@page import="model.BoardBean"%>
<%@page import="model.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<jsp:include page="Header.jsp"/>
</head>
<body>
<div class="row">
<div class="col-xs-2 col-md-2"></div>
<div class="col-xs-8 col-md-8">
<h2 class="text-center">글 삭제하기</h2><p> </p>
<form action="BoardDeleteProcCon.do" method="post">
<div class="table table-responsive">
<table class="table">
<tr>
<td class="danger">작성자</td>
<td>${bean.writer }></td>
<td class="danger">작성일</td>
<td>${bean.reg_date }</td>
</tr>
<tr>
<td class="danger">제목</td>
<td colspan="3">${bean.subject }</td>
</tr>
<tr>
<td class="danger">패스워드</td>
<td><input type="password" name="pass" class="form-control"></td>
</tr>
<tr>
<td colspan="4" class="text-center">
<input type="hidden" name="password" value="${bean.password }">
<input type="hidden" value="${bean.num }" name="num" >
<input type="submit" value="글삭제" class="btn btn-danger">
<input type="button" class="btn btn-primary" onclick="location.href='BoardListCon.do'" value="목록보기">
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
<jsp:include page="Bottom.jsp"/>
</body>
</html>
class BoardDAO
public void deleteBoard(int num) {
getCon();
try{
//3
String sql ="delete from board where num=?";
pstmt=con.prepareStatement(sql);
//?
pstmt.setInt(1, num);
//4
pstmt.executeUpdate();
//5
}catch(Exception e){
e.printStackTrace();
}
}
class BoardDeleteProcCon
package control;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
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 model.BoardDAO;
@WebServlet("/BoardDeleteProcCon.do")
public class BoardDeleteProcCon extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
reqPro(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
reqPro(request, response);
}
protected void reqPro(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//사용자로 부터 넘어오 데이터 3개를 받음줌
int num= Integer.parseInt(request.getParameter("num"));
String password=request.getParameter("password");
String pass =request.getParameter("pass");
//패스워드가 같을 경우에는 데이터를 삭제 하고 리스트화면을 보여줌
if(password.equals(pass)){
BoardDAO bdao =new BoardDAO();
bdao.deleteBoard(num);
RequestDispatcher dis =request.getRequestDispatcher("BoardListCon.do");
dis.forward(request, response);
}else{
request.setAttribute("msg", "delete");
RequestDispatcher dis =request.getRequestDispatcher("BoardListCon.do");
dis.forward(request, response);
}
}
}
동영상 강좌와 다르게 모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.
여기서는 jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.
또한, 일부 자바 코드는 제 입맛에 맞게 변경 하였습니다.
혹시, 이 강의를 들으면서 제 글을 읽고 소스코드를 참조하는 수강생이 있다면 동영상의 코드와 다르다고 생각지 마세요. 대부분 동여상 내용과 같으니 학습에 도움이 될거라 생각 합니다.
소스 : https://github.com/braverokmc79/jsp_sin
유튜브 동영상 출처 :
강사 : 신형섭(잭임연구원)
저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.














댓글 ( 4)
댓글 남기기