ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 作用 用于建立请求 URL 和处理请求方法之间的对应关系。 # 出现位置 类上: ~~~ @Controller @RequestMapping(path = "/user") public class HelloController { ~~~ 请求 URL 的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。 它出现的目的是为了使我们的 URL 可以按照模块化管理: 例如: 账户模块: `/account/add /account/update /account/delete ...` 订单模块: ~~~ /order/add /order/update /order/delete ~~~ 方法: 红色的部分就是把 RequsetMappding 写在类上,使我们的 URL 更加精细。 方法上: 请求 URL 的第二级访问目录。 ~~~ @RequestMapping(path = "/hello", method = {RequestMethod.GET}) public String sayHello() { ~~~ # 属性 value:用于指定请求的 URL。它和 path 属性的作用是一样的。 method:用于指定请求的方式。 params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和 配置的一模一样。 例如: `params = {"accountName"}`,表示请求参数必须有 accountName `params = {"moeny!100"}`,表示请求参数中money不能是100。 headers:用于指定限制请求消息头的条件。 注意: 以上四个属性只要出现 2 个或以上时,他们的关系是与的关系。 ~~~ /** * 参数 * params = {"username"}必传的参数, ?username=xx * params = {"usernam=hehe"}必传的参数,并且值必须是hehe * * headers = {"Accept"}, 请求头中必须有这个请求头 */ @RequestMapping(path = "/hello", method = {RequestMethod.GET}) //请求方法必须是get public String sayHello() { ~~~ jsp ~~~ <body> <!-- 第一种访问方式 --> <a href="${pageContext.request.contextPath}/user/hello"> 查询账户 </a> <br/> <!-- 第二种访问方式 --> <a href="user/hello">查询账户</a> </body> ~~~ 注意: 当我们使用此种方式配置时,在 jsp 中第二种写法时,不要在访问 URL 前面加/,否则无法找到资源。