본문 바로가기

Spring/Model1 _2(MVC)

1011 JSP - (MVC) 페이지 삭제하기 Delete

728x90
반응형

Contents

     

    페이지 삭제 하기 (MVC) 

     

     

    티켓 만들기


     

     

    BoardController

     

    빈 티켓을 만들어줌 

    else if(command.equals("/BoardDelete.bo")) {
        System.out.println(" C : /BoardDelete.bo호출 ");
        System.out.println("C : [패턴1] DB 사용 x, view 페이지 이동");
    
        forward = new ActionForward();
        forward.setPath("./board/deleteForm.jsp");
        forward.setRedirect(false);
    
    }else if(command.equals("/BoardDeleteAction.bo")) {
        System.out.println(" C : /BoardDeleteAction.bo 호출");
        System.out.println(" C : [패턴2] DB 사용 O , 페이지 이동 (화면전환)");
    }
    
    //BoardDeleteAction() 객체
    	action = new BoardDeleteAction();
    	
    	try {
    		forward = action.execute(request, response);
    	} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}

    실제 이동 해야 하는 주소는 "./board/deleteForm.jsp" 이므로, 가상 주소는 false 

    주소는 안바뀌면서 화면만 보여지는 forwarding을 해야 한다. 

     

     

     

     

     

     

    BoardDeleteAction 객체 생성


    package com.itwillbs.action;
    import java.io.PrintWriter;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.itwillbs.db.BoardDAO;
    import com.itwillbs.db.BoardDTO;
    
    
    public class BoardDeleteAction implements Action {
    
    	@Override
    	public ActionForward execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
    		System.out.println(" D : ***********************************");
    		System.out.println(" D : BoardDeleteAction_execute()호출");
    		
    		//페이지 전달 정보 저장 (bno, pass, pageNum)
    		
    		int bno = Integer.parseInt(request.getParameter("bno"));
    		String pass = request.getParameter("pass");
    		String pageNum = request.getParameter("pageNum");
    		
    		//BoardDAO 객체 생성
    		BoardDAO dao = new BoardDAO();
    		
    		int result = dao.deleteBoard(bno, pass);
    		
    		//결과에 따른 페이지 이동 (JS)
    		response.setContentType("text/html; charset=UTF-8");
    		
    		//통로
    		PrintWriter out = response.getWriter();
    		
    		//제어문 통해서 동작
    		if(result ==1 ) {
    			out.print("<script>");
    			out.print(" alert('게시판 글 삭제 완료!');");
    			out.print(" location.href='./BoardList.bo?pageNum="+pageNum+"';");
    			out.print("</script>");
    			out.close();
    			
    			return null;
    		}else if(result == 0) {
    			out.print("<script>");
    			out.print(" alert('비밀번호 오류!');");
    			out.print("history.back();");
    			out.print("</script>");
    			out.close();
    			
    			return null;
    		}else {
    			out.print("<script>");
    			out.print(" alert('글없음!');");
    			out.print("history.back();");
    			out.print("</script>");
    			out.close();
    			
    			
    			return null;
    		}
    		//request 영역에 저장
    
    		
    
    	}
    	
    }

     

     

     

     

     

     

     

    view 만들기 


    deleteForm.jsp

     

    <h1>deleteForm.jsp (MVC) </h1>
    
    <form action= "./BoardDeleteAction.bo?pageNum=${param.pageNum }" method= "post">
    <input type= "hidden" name= "bno" value="${param.bno }">
    비밀번호 : <input type="password" name="pass"> <br>
    <input type= "submit" value= "삭제하기">
    
    </form>

     

     

     

    728x90
    반응형