springMVC中请求路径问题总结

本文总结了SpringMVC中关于请求路径的各种概念,包括资源路径、资源名称、绝对路径与相对路径的区别,以及前台路径和后台路径的解析规则。通过实例分析了不同路径类型在浏览器和服务器中的解析方式,帮助理解SpringMVC中路径处理的核心要点。

在学习SpringMVC路径问题搞得很头疼。

路径的构成:资源路径与资源路径名称

        请求路径=资源路径+资源名称

        资源路径与资源名称的分水岭为,请求路径的最后一个斜杠。斜杠之前称为资源路径,斜杠之后为资源名称。

        请求路径: http://localhost:8080/aaa/index.jsp

        资源路径: http://localhost:8080/aaa

        资源名称: index.jsp

        请求路径: http://localhost:8080/aaa/

        资源路径: http://localhost:8080/aaa

        资源名称: 系统指定的欢迎页面

路径的分类:绝对路径和相对路径

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

       相对路径:仅仅依靠此路径无法唯一的定位一个资源,若再为其添加一个参照路径,就可以将其转换为一个可以定位资源的绝对路径,这样的路径称为相对路径。在Web应用中,一般情况下,不以协议开头的路径为相对路径。

       转换关系:绝对路径=参照路径+相对路径

绝对路径的分类:资源定义路径和资源请求路径

       资源定义路径:用于表示资源的位置

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

相对路径的分类:斜杠路径和非斜杠路径

       斜杠路径:以斜杠开头的的路径

      非斜杠路径:不以斜杠开头对的路径

斜杠路径的分类:前台路径和后台路径

       前台路径:出现在html文件,及jsp文件的静态部分、css、js文件中的斜杠路径,称为前台路径。例如,html及jsp文件中的<img src=””/>、<a href=””>、<form action=””>,css中的background:img(“”),js中的window.location.href=””等中的以斜杠开头的相对路径,称为前台路径。

       后台路径:出现在Java代码、jsp文件动态部分(Java代码块、JSP动作等),及xml、properties等配置文件中的斜杠路径,称为后台路径。

路径解析器

         相对路径最终都会经过路径解析器,将其解析为绝对路径,用于定义或请求一个资源。不同的相对路径,具有不同路径解析器。

         前台路径解析器:浏览器

        后台路径解析器:服务器

       非杠路径解析器:若非杠路径出现在前台路径出现的位置,则其解析器为浏览器;若非杠路径出现在后台路径出现的位置,则其解析器为服务器。

解析规则

         不同路径解析器,对同一个相对路径的解析结果是不同的,即转换为的绝对路径是不同的。由于绝对路径 = 参照路径 + 相对路径,所以解析结果的不同,主要是不同的解析器为相同的相对路径配置上了不同的参照路径。所以,我们要学习的解析规则,就是不同的解析器为不同的相对路径所配置的不同的参照路径。

 

一般规则

        前台路径的参照路径为:当前web服务器的根

       后台路径的参照路径为:当前web应用的根

       非杠路径的参照路径为:当前请求路径的资源路径

      举例:

      请求路径:  http://localhost:8080/aaa/xxx/ooo/hello.jsp

      当前web服务器的根:http://localhost:8080

      当前web应用的根:http://localhost:8080/aaa

      资源路径:http://localhost:8080/03-requestPath/xxx/ooo

     资源名称:hello.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值