开发者社区 问答 正文

有关Jfinal在tomcat下的部署问题? 400 报错

有关Jfinal在tomcat下的部署问题? 400 报错 我在WebRoot下面创建了一个index.html文件,在 public void index() 中直接 render("index.html"),但请求没有进入JFinal,而是直接返回的静态页面html,为什么JFinal没有接收到  http://localhost/ 请求呢?

展开
收起
爱吃鱼的程序员 2020-06-03 17:09:22 560 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

    引用来自“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 要好
    2020-06-03 20:40:49
    赞同 展开评论