关于JFianl.start()方式启动项目的疑问

使用JFinal搭建最简单的web项目,项目结构如下:这里的DemoApplication就是启动类,里面就是JFinal.start方法

Snipaste_2020-06-05_11-12-13.png

web.xml文件如下:

Snipaste_2020-06-05_11-20-08.png

再配置好过滤器之后,使用tomcat容器启动可以访问到controller中输出的内容,但是

使用JFianl.start方法启动的时候只显示jetty启动成功的日志,不会打印我的配置类 configConstant 方法中的信息,

configConstant 方法信息:

Snipaste_2020-06-05_11-18-27.png

然后访问的时候就是提示  404  Powered by Jetty://    请问这是这啥意思

Snipaste_2020-06-05_11-16-34.png



评论区

xiuxiu-xiuxiu

2020-06-05 11:22

@波总 @其他老师

JFinal

2020-06-05 11:42

返回的 404 是 jetty 的界面,而不是 jfinal 的 404 界面,证明你的项目未被加载,一般业说原因如下:
1:jetty 未找到 web.xml ,也就不会加载 web.xml 中配置的入口

2:eclipse/IDEA 配置问题,class path 未指向你的编译目标路径,该路径在你的截图中显示是:webapp/WEB-INF/classes

建议下载 jfinal.com 首页右侧的 jfinal_demo_for_maven.zip,采用 maven 组织项目

xiuxiu-xiuxiu

2020-06-05 12:35

好的 我再试试,因为现在老项目就是这种web项目,不是maven,我再找找原因,谢谢波总。

xiuxiu-xiuxiu

2020-06-05 14:01

问题解决了,解决方式是我把idea编译的 .class文件全部删除后,再次重新编译就好了,当然,可能会提示 “无法加载主类” , 这是需要设置一下工程的source文件夹,指向src即可。

JFinal

2020-06-05 14:31

@xiuxiu-xiuxiu 为啥还在使用如此老的版本? 强烈建议升级到最新版本,这里有升级文档:
https://jfinal.com/doc/14-1

xiuxiu-xiuxiu

2020-06-05 17:52

这项目就是3.0版本的,我还没用过jfinal,我先熟悉熟悉,后期考虑做升级。

xiuxiu-xiuxiu

2020-06-10 16:15

@JFinal 波总,jfnal为啥不恩能够对idea支持良好呢,公司是老项目,jfinal3.0 用idea经常出现不能加载配置类问题,都找不到原因

JFinal

2020-06-10 16:20

@xiuxiu-xiuxiu jfinal 项目是标准的 java web 项目,也是标准的 maven 项目

所以, IDEA 不能加载配置的问题肯定是与 jfinal 无关的

你开发传统的 "非jfinal" 项目,一样也会碰到这种问题

最简单的办法:
1:先将项目从 IDEA 中移除

2:在资源管理器里面,删掉项目的所有目录与文件,只保留 pom.xml 文件与 src 目录。

注意:这一步是为了删干净 IDEA 为项目生成的一些配置,以及自己折腾出来的一些配置。这些配置就是出问题的根源

再注意:注意删掉那些 IDEA 生成的隐藏的配置文件

3:再使用 IDEA 导入项目,让 IDEA 重新为项目生成各种配置。

特别注意:导入的时候,要走 maven 项目导入向导,注意要走向导,注意要走 maven 项目向导,重要的事情说三次。这样是为了让 IDEA 为你生成合适的配置文件

4:直接启动项目,不要做任何其它配置,因为我担心你折腾出一些破坏性配置,然后再来怪罪 jfinal

再次重申:上面的一切都与 jfinal 无关,我只是出于热心告诉你一些 IDEA 的使用技巧

xiuxiu-xiuxiu

2020-06-10 16:51

@JFinal 我再试试吧

热门反馈

扫码入社