http请求响应中实际发送了什么内容?
在下面的简单弹簧控制器中,String被发送到客户端。但是这个字符串包含在浏览器理解的一些html元素中?这个响应总是一样的,但是不同的框架只是提供了不同的方便的方法/注释来使这个过程更简单吗?
@RequestMapping(value="myrequest", method = RequestMethod.GET)
public String redirect(@RequestParam String param) {
return "test";
}
答案 0 :(得分:0)
在Spring MVC Framework中,HTTP请求的生命周期是这样的:
用户请求资源,Spring'DispatcherServlet
将请求委托给特定的控制器方法(如redirect
)。这是通过Handler Mapping进行的,可以使用 - 例如 - 控制器中的注释(如@RequestMapping
)来选择合适的注释。
简单地说, Controller 方法返回ModelAndViews的实例,它们是负责生成一些标记(HTML,JSON,XLS又称View)并在该视图中显示一些信息的类(The模型)。控制器也可能返回视图解析器后面应该在ModelAndView实例中解析器的视图逻辑名称(如test
)。
查看解析程序根据Controller返回的逻辑名称选择适当的视图,然后View生成发送到浏览器的标记。例如,JstlView生成HTML标记,而AbstractExcelView生成XLS文件。
因此,要回答您的问题,您必须找到在应用程序上下文中配置的View Resolver,并找到生成的标记。