느림보 개발

2. Model2 방식을 사용한 MVC패턴 - 가상주소 매핑 및 페이지 이동 본문

코드 정리/JSP

2. Model2 방식을 사용한 MVC패턴 - 가상주소 매핑 및 페이지 이동

@르르 2023. 1. 19. 17:12

1. 가상주소 매핑 

 

BoardController

 

System.out.println("\n 2. 가상주소 매핑 -시작 ");
//2. 가상주소 매핑 -----------------------------------------------
Actionforward forward = null; // 초기화

if(commands.equals("/BoardWrite.bo")){
	
    // 글쓰기 페이지 보여주기 (DB정보 필요 X) 
    // view 페이지로 바로 이동
    forward = new ActionForward(); 
    forward.setPath("./board/writeForm.jsp");  // 어디로 갈거고 
    forward.setRedirect(false); // 어떤 방식으로 갈건지


}

//2. 가상주소 매핑 -----------------------------------------------
System.out.println("\n 2. 가상주소 매핑 -끝 ");

 

 

 

ActionForward

 

- 페이지 이동을 위한 정보를 저장하는 객체 = 통행권 

- isRedirect 가 true - sendRedirect() 방식으로, false - forward() 방식으로 이동 

public class ActionForward {

private String path;  // 이동할 주소
private boolean isRedirect; // 이동할 방식 
    
   //getter,setter 생략

}

 

 

 


2. 가상 주소 페이지 이동

 

BoardController 

 

-  forward의 이동 정보가 있을 때

 - 이동방식이 true - sendRedirect() 방식일 경우 → response 참조변수를 사용하여 세팅한 path를 가지고 redirect 방식으로 이동

-  이동방식이 false - forward방식일 경우 → RequestDispatcher를 생성하여 forward.getPath에 세팅된 주소로 req, res 를 가지고 이동 

- RequestDispatcher의 forward 메서드는 대상 자원으로 제어권을 넘기는 역할을 한다. 

//3. 가상주소 페이지 이동 -----------------------------------------------
if(forward != null) {
	if(forward.isRedirect()) {
    	response.sendRedirect(forward.getPath());
    } else {
    RequestDispatcher dis = request.getRequestDispatcher(forward.getPath());
    dis.forward(request,response);
    }

}

 

 

 

writeForm.jsp 

 

-/WebContent/board/ 생성

- MVC 패턴에서는 주소창에 .jsp가 뜨지 않도록 구현! → 모델, 뷰, 컨트롤러 분리

- 비지니스 로직은 Action 페이지에서 처리할 예정

<fieldset>
	<form action="./BoardWriteAction.bo" method="post">
	글쓴이 : <input type="text" name="name"><br>
	비밀번호 : <input type="password" name="pw"><br>
	제목 : <input type="text" name="subject"><br>
	내용 : <input type="textarea" name="content"><br>
	<input type="submit" value="글쓰기">
	
	</form>

</fieldset>

 

 

 

실행

 

 

 

 

 

 

 

 

 

더보기

참고

RequestDispatcher 에 관한 글 https://dololak.tistory.com/502

'코드 정리 > JSP' 카테고리의 다른 글

1. Model2 방식을 사용한 MVC패턴 - 가상주소 계산  (0) 2023.01.19
Comments