0

在 http 请求响应中实际发送了什么?

在下面的简单弹簧控制器中,一个字符串被发送到客户端。但是这个字符串被包裹在浏览器理解的一些 html 元素中?这个响应是否总是相同但不同的框架只是提供不同的方便方法/注释以使过程更简单?

  @RequestMapping(value="myrequest", method = RequestMethod.GET)
  public String redirect(@RequestParam String param) {      

      return "test";

  }
4

1 回答 1

0

Spring MVC Framework中,HTTP 请求的生命周期是这样的:

  1. 用户发出资源请求,SpringDispatcherServlet将该请求委托给特定的控制器方法(如redirect)。这是通过处理程序映射实现的,该处理程序映射可以使用 - 例如 - 控制器中的注释(如@RequestMapping)来选择合适的。

  2. 通常,Controller方法返回 ModelAndViews 的实例,这些实例负责生成一些标记(HTML、JSON、XLS aka 视图)并在该视图(模型)中显示一些信息。控制器也有可能返回视图逻辑名称(如test),这些逻辑名称应该稍后由视图解析器在 ModelAndView 实例中解析。

  3. 视图解析器根据控制器返回的逻辑名称选择合适的视图,然后视图生成发送到浏览器的标记。例如,JstlView 生成 HTML 标记,AbstractExcelView 生成 XLS 文件。

因此,要回答您的问题,您必须找到在应用程序上下文中配置的 View Resolver 并找到生成的标记。

于 2012-12-01T00:21:05.393 回答