响应概述
响应(Response)是服务器针对客户端请求返回的反馈信息。在 Spring MVC 中,我们主要关注如何控制这些响应的形式,无论是页面跳转、数据返回还是状态码设置。
返回静态页面
当我们希望返回一个 HTML 页面时,通常使用 @Controller 注解配合视图解析器。
示例代码:
@Controller
@RequestMapping("response")
public class ResponseController {
@RequestMapping("/1")
public String method1() {
return "/index.html";
}
}
如果你使用了 @RestController,可能会发现页面没有正常跳转,而是直接显示了路径字符串。这是因为 @RestController 是 @Controller 加上 @ResponseBody 的组合,它默认不经过视图解析,直接将返回值作为响应体发送。
修正方案:
确保类上标注 @Controller,这样返回的字符串会被视为视图名称进行解析。
@Controller
@RequestMapping("response")
public class ResponseController {
@RequestMapping("/1")
public String method1() {
return "/index.html";
}
}

返回数据:@ResponseBody
如果不需要跳转页面,而是直接返回文本或数据给前端,可以使用 @ResponseBody。它会将方法的返回值直接写入 HTTP 响应体,绕过视图解析。
@RequestMapping("/2")
@ResponseBody
public String method2() {
;
}


