有关Jfinal在tomcat下的部署问题

欧少 发布于 2012/04/16 09:43
阅读 4K+
收藏 9
我在WebRoot下面创建了一个index.html文件,在 public void index() 中直接 render("index.html"),但请求没有进入JFinal,而是直接返回的静态页面html,为什么JFinal没有接收到  http://localhost/ 请求呢?
加载中
0
JFinal
JFinal
这个问题的根本原因是由于 tomcat在接收到 http://localhost/ 请求后,会首先去查找 tomcat_home/conf/web.xml文件中的welcome-file-list所指定的文件,如果找到相应的文件则直接返回而不去理会应用中的Filter配置。要解决这个问题有两个办法:一是让tomcat找不到这个文件,即可以把index.html改为main.html等等其它名称。二是改掉或者去掉welcome-file-list配置。前者更加优雅。注意,这个问题不仅仅出现在根目录“/”,其它目录下的index.html也要注意,jetty不存在这个问题。
欧少
欧少
按照你说的做法,问题已解决,谢谢!
0
欧少
欧少

引用来自“JFinal”的答案

这个问题的根本原因是由于 tomcat在接收到 http://localhost/ 请求后,会首先去查找 tomcat_home/conf/web.xml文件中的welcome-file-list所指定的文件,如果找到相应的文件则直接返回而不去理会应用中的Filter配置。要解决这个问题有两个办法:一是让tomcat找不到这个文件,即可以把index.html改为main.html等等其它名称。二是改掉或者去掉welcome-file-list配置。前者更加优雅。注意,这个问题不仅仅出现在根目录“/”,其它目录下的index.html也要注意,jetty不存在这个问题。
我将 index.html 改为 main.html 就好了,这种方法比改 welcome-file-list 要好
返回顶部
顶部