[SPRING] Spring MVC Controller : "return forward", "return redirect"및 "return jsp file"의 차이점은 무엇입니까?
SPRINGSpring MVC Controller : "return forward", "return redirect"및 "return jsp file"의 차이점은 무엇입니까?
나는 내가 무엇을 사용해야하는지 이해하지 못한다. intro.jsp (1) 및 booksList.jsp (2)의 두 페이지가 있습니다. 각 페이지마다 하나의 컨트롤러 클래스를 만들었습니다. 첫 번째 페이지에는 두 번째 페이지를 여는 버튼이 있습니다.
<form method="GET" action="/request-list">
<input type="submit"/>
</form>
첫 번째 질문은 :이 버튼의 정확성에 대해 확실하지 않습니다. 잘 작동하지만이 버튼을 누른 후 물음표가 나타납니다.
두 번째 질문은 다음과 같습니다. 해당 버튼을 누르면 다음 주석이있는 메소드가 호출됩니다 (두 번째 페이지의 컨트롤러).
@RequestMapping(value = "/books")
@Controller
public class BooksListController {
@RequestMapping
public String booksList() {
return "jsp/books/booksList";
}
}
이 방법으로 무엇을 반환해야합니까? 다시 말해 첫 페이지에서 두 번째 페이지로 어떻게 이동할 수 있습니까?
그 결과가 동일하다는 것을 알았습니다.이 모든 문자열은 저에게 동일한 페이지를주었습니다 (2 페이지가 열렸습니다). 어떤 경우에는 "redirect", "forward", "page.jsp"를 사용해야합니까?
또한 게시물 / 리디렉션 / 기사 가져 오기를 읽었습니다. POST 메서드 처리 후 "리디렉션"사용해야합니까 ??
해결법
-
==============================
1.GET http 메서드를 사용하기 때문에 물음표가 삽입됩니다. POST 메서드를 사용하여 요청 페이로드의 데이터를 전달해야합니다.
GET http 메서드를 사용하기 때문에 물음표가 삽입됩니다. POST 메서드를 사용하여 요청 페이로드의 데이터를 전달해야합니다.
return "redirect:/books";
http 응답을 해석하고 자동으로 리디렉션 URL을 호출하는 클라이언트 (브라우저)로 돌아갑니다.
return "jsp/books/booksList";
JSP를 처리하고 클라이언트에게 HTML을 보냅니다.
return "forward:/books";
요청을 전송하고 서버 측에서 직접 URL을 호출합니다.
어느 것을 사용할지 결정하려면 각 접근법의 몇 가지 측면을 고려해야합니다.
앞으로 : 클라이언트 브라우저가 복잡하지 않고 브라우저가 원본 URL을 표시하고 요청이 전달 된 URL을 통해 전송됩니다.
리디렉션 : 속도가 느리고 클라이언트 브라우저가 관련되어 있고 브라우저에 리디렉션 된 URL이 표시되면 리디렉션 된 URL에 대한 새 요청이 만들어집니다.
from https://stackoverflow.com/questions/28697681/spring-mvc-controller-what-is-the-difference-between-return-forward-return by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 3으로 구성된 JPA를 얻는 방법은 무엇입니까? (0) | 2019.03.02 |
---|---|
[SPRING] 봄 3 mvc와 GWT를 통합하는 경험? (0) | 2019.03.02 |
[SPRING] Spring Tool Suite IDE에서 프로젝트를 재배포하려고 할 때 이미 8080 포트가 발생했습니다. (0) | 2019.03.02 |
[SPRING] 어떻게하면 cleencrypt SSL 인증서를 설정하고 Spring Boot 애플리케이션에서 사용할 수 있습니까? (0) | 2019.03.02 |
[SPRING] 자바 프레임 워크 전쟁 : 봄과 겨울잠 (0) | 2019.03.02 |