SpringMVC学习(2)路径配置

把这个单独列出来,是因为自己之前也老是弄混,现在好好的整理一下,

一、访问路径与资源名称

通常的URL资源访问路径由两部分组成:访问路径以及资源名称。

再看一种情况

这个资源在webRoot下xxx/ooo目录下面

二、绝对路径

计算机中web应用的绝对路径,就是指的是带有访问协议的路径。

http://127.0.0.1:8080/primary/index.jsp这个就是绝对路径

三、相对路径

相对路径必须要结合参照路径才可以组成绝对路径,参照路径不同,组成的绝对路径也不一样。在web应用中,根据参照路径是否以斜杠开头分为两种。

1、以斜杠开头的相对路径

A:前台路径

前台路径指的是由浏览器解析执行的代码中包含的路径,比如在jsp中<img src="">。

前台路径的参照路径是web服务器的根路径:也就是http://127.0.0.1:8080/

最后的8080后面是带斜杠的。

举例子:

<body>
    <a href="/hello.do">跳转到welcome界面</a>
</body>

首先看href中的路径带斜杠,然后位置在jsp中,是前台路径http://127.0.0.1:8080/.

其组成的绝对路径是: http://127.0.0.1:8080/hello.do,这个是访问不到资源的。

解决办法是:

 <a href="/primary/hello.do">跳转到welcome界面</a>

B:后台路径

所谓后台路径是指,由服务器解析执行的代码及文件中包含的路径。比如说java代码中的路径、jsp中动态部分(java代码块)、XML文件中的路径(springmvc.xml文件等)等等。后台路径的参照路径是web应用的根路径。

http://127.0.0.1:8080/primary/

最后是带斜杠的。

举例子:

<bean id="/hello.do" class="com.fdd.controller.MyController">

首先看是否带斜杠,接下来看位置是后台路径,其参照路径是web应用的根,http://127.0.0.1:8080/primary/

其组成的绝对路径是http://127.0.0.1:8080/primary/hello.do

C:后台路径特例

后台路径的参照路径有一个特例:当代码中使用response的sendRedirect()方法进行重定向时候,其参照路径不是web应用的根路径而是web服务器的根路径

response.sendRedirect("/show.jsp");将会报404错误,这是因为此时的参照路径是http://1276.0.0.1:8080/     因此此时不能带斜杠response.sendRedirect("show.jsp");

2、不以斜杠开头的相对路径(不使用)

不以斜杠开头的相对路径无论是前台路径还是后台路径,其参照路径都是当前资源的访问路径。

举例子

<bean id="hello.do" class="com.fdd.controller.MyController">

<body>
    <a href="hello.do">跳转到welcome界面</a>
</body>

这两个参照路径都是当前资源的访问路径,比如说这个资源放在了D盘下面的一个目录。

注意:为了避免这样或者是那样的错误,在书写路径时候,都采用以斜杠开头的相对路径,然后看前台路径和后台路径。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值