본문 바로가기
스프링/mvc패턴

mvc패턴)모델1의 흐름(순서)

by CodeMango 2023. 2. 17.

일정관리 코드를 이용해 모델1의 흐름을 알아보겠습니다. 

삭제 기능을 구현할 거고 이용할 파일은 CalendarDao.java 파일,  caldetail.jsp파일 , calDelete.jsp 파일입니다.

 

caldetail.jsp파일

<button type="button" onclick="calUpdate(<%=dto.getSeq() %>)">수정</button>

<button type="button" onclick="calDelete(<%=dto.getSeq() %>)">삭제</button>
</div>

<script type="text/javascript">
function calUpdate(seq) {
	location.href = "calUpdate.jsp?seq=" + seq;
}
function calDelete(seq) {
	location.href = "calDelete.jsp?seq=" + seq;
}

CalendarDao.java파일

	public int deleteDay(int seq) {
	    String sql = "delete from calendar where seq = ?";
	    Connection conn = null;
	    PreparedStatement psmt = null;
	    int count = 0;

	    try {
	        conn = DBConnection.getConnection();
	        System.out.println("1/3 deleteDay success");

	        psmt = conn.prepareStatement(sql);
	        psmt.setInt(1, seq); //첫번재 ? 에 seq 대입
	        System.out.println("2/3 deleteDay success");
	        
	        //영향을 받은 행의 개수를 반환
	        count = psmt.executeUpdate();
	        System.out.println("3/3 deleteDay success");

	    } catch (SQLException e) {
	        System.out.println("deleteDay fail");
	        e.printStackTrace();
	    } finally {
	        DBClose.close(conn, psmt, null);
	    }

	    return count;
	}

 

calDelete.jsp파일

<%@page import="dao.CalendarDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    int seq = Integer.parseInt(request.getParameter("seq"));
    CalendarDao dao = CalendarDao.getInstance();
    
    dao.deleteDay(seq);
%>
<script type="text/javascript">
    alert("일정이 삭제되었습니다.");
    location.href = "calendar.jsp";
</script>

 

1. 사용자가 일정 상세보기 페이지(caldetail.jsp)에서 "삭제" 버튼을 누릅니다.

2. 클릭 이벤트를 처리하는 자바스크립트 함수 calDelete(seq)가 호출됩니다.

3. calDelete(seq) 함수는 location.href 메소드를 통해 calDelete.jsp 페이지로 이동합니다.

4. calDelete.jsp 페이지는 request 객체를 통해 seq 값을 전달받습니다.

5. calDelete.jsp 페이지에서 dao.deleteDay(seq) 메소드를 호출하여 해당 일정을 삭제합니다.

6. dao.deleteDay(seq) 메소드는 데이터베이스에서 해당 일정을 삭제합니다.

즉, 클라이언트에서 이벤트를 처리하여 calDelete.jsp 페이지로 이동한 뒤, 서버에서는 해당 일정을 삭제하는 작업이 수행됩니다.

댓글