开发中常见的路径的问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 20:46   188   0

常见的路径问题,总结如下。

1 不写 举例: image/chun.jpg 表示当前目录

2 / 举例 /image/chun.jpg 表示根目录

3 ./ 举例 ./image/chun.jpg 表示当前目录 。 本人理解: '.'表示上级目录,那么 ./就是上级的下一级,也就是当前目录

4 ../ 举例 ../image/chun.jpg 表示上级目录。 本人理解: '..'表示上上级,那么../就是上上级的下一级,也就是上级目录

5 ../../ 举例 ../../image/chun.jpg 表示上上级。 本人理解: 第4点中说到 ../表示上一级目录,那么 ../../就是上上一级了。

6 在集群环境中的路径。

集群环境我也没做过,我个人理解的是这样的。

首先,由于集群环境可能不在同一个Tomcat容器中,我们通过域对象获取根目录的方法应该是行不通的。那么用'/'能表示根目录吗?

我尝试的结果是不可以的。 假设写一个控制层代码,如下

@Controller

@RequestMappring("/aaa/bbb")

public class TestController{

@RequestMapping("/ccc")

public String Test(){

....................

}


@RequestMapping("/ddd")

public String Test(){

....................

}

}

假设我先访问localhost:8080/aaa/bbb/ccc成功,跳转到了ccc页面,这个时候如果我在访问/ddd,路径如下

“/aaa/bbb/ddd”,这个时候会报404, 查看浏览器上的请求信息发现,路径变成了 http:localhost:8080/aaa/bbb//aaa/bbb/ddd。

这个问题的规律如下

控制器:

@Controller

@RequestMappring("/aaa/bbb")

public class TestController{

路径:

http:localhost:8080/aaa/bbb//aaa/bbb


控制器:

@Controller

@RequestMappring("/aaa")

public class TestController{

路径:

http:localhost:8080/aaa/aaa.

规律总结:路径跟控制器类的@RequestMappring配置的路径有关。

解决办法:

办法一:控制层的类的@RequestMappring注解不要配置任何路径

办法二:规范控制层的类的@RequestMappring注解,只写一层目录。比如

@Controller

@RequestMappring("/aaa")

public class TestController{

页面需要访问ddd这个方法时,可以这样写"../aaa/ddd"
办法三:不要再写类上的@RequestMappring("/aaa")配置的路径了,直接这样"/ddd.

不知道我理解的对不对,有做过集群项目的大神请指正,欢迎大家评论给出宝贵意见,谢谢!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP