1.Restful风格在高版本Tomcat中无法转发到jsp页面
在Tomcat8之后的一些高版本,使用restful风格访问然后转发到jsp页面 会有如下错误提示:
解决办法有两种:
1.在jsp页面中,修改page指定
<%@ page language="java" contentType="text/html; charset=UTF-8"
isErrorPage="true"
pageEncoding="UTF-8"%>
2.在Controller中使用重定向跳转。而不用转发
2.@PathVariable 路径参数获取
前面我们已经知道如何编写和配置restful风格的请求和控制器。
那么 现在的问题是。如何接收restful风格请求的参数。比如前面的id值。
/book/{id} 中 {id} 是占位符
第一种情况,一个path参数:
/**
* @PathVariable 路径参数<br/>
* 表示把请求地址中{id}占位符所表示的地址参数。注入到 方法参数的id中。
*/
@RequestMapping(value = "/book/{id}", method = RequestMethod.GET)
public String queryBookById(@PathVariable(value = "id") Integer id) {
System.out.println("查询id为" + id + "的图书信息");
return "redirect:/index.jsp";
}
第二种情况,多个path参数(不怎么推荐多个参数):
/**
* @PathVariable 路径参数<br/>
* 表示把请求地址中{id}占位符所表示的地址参数。注入到 方法参数的id中。
*/
@RequestMapping(value = "/book/{id}/{name}", method = RequestMethod.GET)
public String queryBookById(@PathVariable(value = "id") Integer id,
@PathVariable("name") String name) {
System.out.println("这是参数id的值:" + id + ",参数name的值:" + name);
System.out.println("查询id为" + id + "的图书信息");
return "redirect:/index.jsp";
}
评论 (0)