SpringMVC的请求路径

本文深入探讨了SpringMVC框架中的请求路径概念,详细解释了请求路径的构成及其分类,包括绝对路径与相对路径的区别,以及它们在web应用中的作用和解析规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC的请求路径

一. 请求路径的构成:
请求路径 = 资源路径+资源名称
请求路径:http://localhost:8888/springMVC-1/index.jsp

资源路径与资源名称是以请求路径中最后一个斜杠为分割线的,斜杠前的就是资源路径,斜杠后的就是资源名称

资源路径:http://localhost:8888/springMVC-1
资源名称:index.jsp

二. 请求路径的分类
根据是否可以唯一的定位一个资源,可以将路径划分为两类:相对路径和绝对路径。

1.绝对路径:
可以唯一定位一个资源。在web应用中,一般情况下,以请求协议开头的路径为绝对路径,绝对路径以URL形式表示。

绝对路径分类:
根据路径作用不同分为:资源定义路径和资源请求路径。

资源定义路径:用于资源在服务器端的位置,换句话说,就是客户端要访问该资源是必须要提交的绝对路径。

资源请求路径:客户端发出对指定资源的请求路径。

2.相对路径:
仅仅依靠该路径,无法唯一的定位一个资源。但如果将其与一个参照路径相结合,就可转换为一个绝对路径,这样的路径称为相对路径。在web应用中,一般情况下,不以协议开头的路径称为相对路径,以URI形式表示。

相对路径分类:
以相对路径是否以斜杠开头划分,可以分为:以斜杠开头的相对路径和不以斜杠开头的相对路径。
1.
以斜杠开头的相对路径,再根据路径初现的位置不同可以分为:前台路径和后台路径。
前台路径:初现再html文件,jsp文件中的静态部分的以斜杠开头的相对路径称为前台路径。前台路径解析者是浏览器。

后台路径:出现在java代码,jsp文件的动态部分,xml,properties配置 文件中的以斜杠开头的相对路径称为后台路径。后台路径的解析者是服务器。
2.
不以斜杠开头的路径,其解析者根据路径出现的位置不同,分别是浏览器和服务器。
3.
转换规则(参照路径)
不同的解析者,对同一个相对路径的解析结果是不同的。所谓的解析结果是指将相对路径转换为最终的绝对路径。绝对路径 = 参照路径 + 相对路径,所以这里的解析就是为相对路径找到对应的参照路径。
前台路径:参照路径为当前的Web服务器的根;
后台路径:参照路径为当前的Web项目的根;
不以斜杠开头的相对路径:参照路径为当前请求路径的资源路径。
请求路径:http://localhost:8888/springMVC-1/aaa/NewFile.jsp
Web服务器的根: http://localhost:8888
Web项目的根: http://localhost:8888/springMVC-1
当前请求路径的资源路径: http://localhost:8888/springMVC-1/aaa
4.
特例:
当后台代码中使用sendRedirect()方法进行重定向时,不符合前边所给出的后台太路径的参照路径,它的参照路径是web服务器的跟

注:
绝对路径 = 参照路径+相对路径

Spring MVC的路径映射主要通过@RequestMapping注解来实现。在Spring MVC中,可以使用多种注解来定义路径映射规则,其中包括@Controller、@RequestMapping、@GetMapping等。 @Controller注解用于标识一个类是控制器,可以处理请求并返回相应的结果。在控制器类中,可以使用@RequestMapping注解来定义请求路径的映射规则。例如,在示例中的HelloController类中,使用@RequestMapping("/user")注解来指定该控制器的基础请求路径为"/user"。 @RequestMapping注解除了可以定义类级别的请求路径外,还可以在方法级别上定义具体的请求路径。例如,在HelloController类中,使用@RequestMapping(path = "/hello", method = {RequestMethod.POST})注解来定义了一个请求路径为"/hello"且请求方法为POST的方法。 另外,Spring MVC还提供了一种简化的路径映射注解,如@GetMapping注解。这些注解是@RequestMapping注解的缩写形式,用于定义特定请求方法的映射规则。例如,@GetMapping注解可以替代@RequestMapping注解中的method参数为RequestMethod.GET,用于定义GET请求路径映射规则。 综上所述,Spring MVC的路径映射可以通过@Controller、@RequestMapping、@GetMapping等注解来定义,而具体的映射规则可以根据实际需求来选择不同的注解进行配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringMVC 路径映射](https://blog.youkuaiyun.com/qq_44713454/article/details/108145304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [spring mvc路径映射](https://blog.youkuaiyun.com/sunyaoxjtu/article/details/102832923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值