liunx上运行,新增同Rout路径的文件名会让Controller失效

public void configRoute(Routes me) {

me.add("/msg", MsgController.class);

me.add("/DeanClub", DeanClubController.class);

}

在项目根目录下创建msg文件夹和DeanClub文件夹会导致controller失效,访问报错404

image.pngimage.png

评论区

JFinal

2017-11-01 15:32

这个是 tomcat 的一个大坑,与 jfinal 没有关系,具体原因在这里:
http://www.oschina.net/question/941098_93842

看一下我的回复

阿赖cc

2017-11-01 17:32

@JFinal 恩 看到了 具体原因没看明白。
以下是个人猜测与建议
如果我理解不错的话,所有请求都走进JFinalFilter的静态的请求和Routes的请求两个只生效一个,因为用的是同样的名称,还是建议webapps下目录名称不要和Routes的key重合

JFinal

2017-11-01 17:49

@阿赖cc 这么来理解:
1:假定你的 webroot 下有个目录叫 abc
2:假定你的请求是 localhost/abc
3:tomcat 必定给你做一个 302 重定向到: localhost/abc/
也就是说 tomcat,将你的请求给拦截了,并且给你在 url 后面添加了一个 "/" 后缀,让你的浏览器重新发起一个全新的请求,对于 jfinal 来说第一个正确的 url 请求是不存在的

热门反馈

扫码入社