gpt4 book ai didi

java - Spring MVC Controller : what is the difference between "return forward", "return redirect"和 "return jsp file"

转载 作者:IT老高 更新时间:2023-10-28 13:49:57 28 4
gpt4 key购买 nike

我不明白我应该使用什么。我有两页 - intro.jsp(1) 和 booksList.jsp(2)。我为每一页创建了一个 Controller 类。第一页有打开第二页的按钮:

<form method="GET" action="/request-list">
<input type="submit"/>
</form>

第一个问题是:我不确定这个按钮的正确性。效果很好,但是按下这个按钮后我有问号。

第二个问题是:当我按下那个按钮时,会调用带有下一个注释的方法(第二页的 Controller ):

@RequestMapping(value = "/books")
@Controller
public class BooksListController {

@RequestMapping
public String booksList() {
return "jsp/books/booksList";
}
}

我应该通过这种方法返回什么?换句话说,我怎样才能从第一页跳转到第二页?

  1. return "redirect:/books";返回 http://localhost:8080/books?
  2. return "jsp/books/booksList";返回 http://localhost:8080/request-list?
  3. return "forward:/books";返回 http://localhost:8080/request-list?

我看到结果是一样的:所有这些字符串都给了我相同的页面(第 2 页已打开)。在哪些情况下我应该使用“redirect”、“forward”、“page.jsp”?

我也读过 Post/Redirect/Get article . POST方法处理后是否必须使用“重定向”??

最佳答案

The first question is: I am not sure about correctness this button. It works well, but I have question mark after press this button.

好的,它插入一个问号,因为您使用 GET http 方法。您需要使用 POST 方法来传递请求负载中的数据。


return "redirect:/books";

它返回到客户端(浏览器),它解释http响应并自动调用重定向URL

return "jsp/books/booksList";

它处理 JSP 并将 HTML 发送给客户端

return "forward:/books";

它在服务器端传输请求并直接调用URL。


要决定使用哪一种,您必须考虑每种方法的某些方面:

转发:速度更快,不涉及客户端浏览器,浏览器显示原始URL,请求转发做转发的URL。

重定向:速度较慢,涉及客户端浏览器,浏览器显示重定向的 URL,它对重定向的 URL 创建一个新的请求。

关于java - Spring MVC Controller : what is the difference between "return forward", "return redirect"和 "return jsp file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28697681/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com