03-RESTful风格-常见问题

starrylsi
2024-09-15 / 0 评论 / 12 阅读 / 正在检测是否收录...

1.Restful风格在高版本Tomcat中无法转发到jsp页面

在Tomcat8之后的一些高版本,使用restful风格访问然后转发到jsp页面 会有如下错误提示:

rest-转发jsp错误.png

解决办法有两种

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

评论 (0)

取消