当前位置: 首页 > 知识库问答 >
问题:

Spring MVC 控制器:“返回转发”、“返回重定向”和“返回 jsp 文件”有什么区别

公羊雅达
2023-03-14

我不知道该用什么。我有两页——简介。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";
   }
}

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

    < li> 返回" redirect:/books ";返回http://localhost:8080/books? < li> 返回“JSP/books/book list”;返回http://localhost:8080/request-list < li> 返回" forward:/books ";返回http://localhost:8080/request-list?

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

我也阅读了文章后/重定向/获取。我必须在POST方法处理后使用“重定向”吗??

共有1个答案

闻人树
2023-03-14

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

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

return "redirect:/books";

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

return "jsp/books/booksList";

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

return "forward:/books";

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

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

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

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

 类似资料:
  • 我正在使用Spring形式。我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。

  • 页面跳转 操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法: success方法 /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixe

  • 页面跳转 操作完成后,成功或失败页面跳转可以使用 控制器基类的success,error方法: success方法 /** * 操作成功跳转的快捷方法 * @access protected * @param mixed $msg 提示信息 * @param string $url 跳转的URL地址 * @param mixe

  • 编辑:下面是LatherupApplication应用程序类: 下面是我家控制器: 下面是pom.xml文件: 下面是home.jsp: 应用程序.属性:

  • 你好,我是拉威尔的新手,也许这对你们来说太傻了。在laravel 8中,路由web。php我创建了一条如下的路线: 我想问的是,我们也可以从回调视图返回控制器吗?所以在路由 /editprofile中,第二个参数不是'App\Http\Controller\SiteController@edit_profile',而是一个回调函数,如路由'/home'。 但是它返回错误哈哈。假设我不想用__con

  • 我得到这个错误消息: 无法写入JSON: 未找到用于java.io.FileDescriptor类的序列化程序,也未发现用于创建BeanSerializer的属性 (为了避免异常,禁用SerializationFeature.fail_on_empty_beans)) (通过引用链: org.springframework.core.io.filesystemResource[\“outputSt