HTTP ERROR 404 Problem

HTTP ERROR 404

Problem accessing /. Reason:

    Not Found


Powered by Jetty:// 9.4.z-SNAPSHOT

web.xml 配置如下:

jfinalcom.jfinal.core.JFinalFilterconfigClasscom.demo.common.DemoConfigjfinal/*


com.demo.commoncom.demo.index.IndexControllercom.jfinal.config.Constantscom.jfinal.config.Handlerscom.jfinal.config.Interceptorscom.jfinal.config.JFinalConfigcom.jfinal.config.Pluginscom.jfinal.config.Routescom.jfinal.core.JFinalcom.jfinal.kit.Propcom.jfinal.kit.PropKitcom.jfinal.template.EngineDemoConfig JFinalConfig {
    Prop (String[] args) {
        JFinal.()}

    () {
        (== ) {
            = PropKit.()}
    }


    (Constants me) {
        ()me.setDevMode(.getBoolean())me.setInjectDependency()me.setInjectSuperClass()}

    (Routes me) {
        me.add(IndexController.)}

    (Engine me) {
    }

    (Plugins me) {
    }


    (Interceptors me) {
    }

    (Handlers me) {
    }
}


com.demo.indexcom.jfinal.core.ControllerIndexController Controller {
    () {
        renderText()}
}


IDE 为 IntelliJ IDFEA 2019 ,JFinal 4.3 , jetty 启用

根据提示,应该是程序根本就没有调用 com.demo.common.DemoConfig  ,  不清楚是什么地方没配置对? 希望专家给予指导,谢谢,

评论区

lhl_yn_km

2019-07-25 18:04

报错信息:
HTTP ERROR 404
Problem accessing /. Reason:
Not Found


Powered by Jetty:// 9.4.z-SNAPSHOT

下面是代码信息


web.xml 配置如下:

< filter >
< filter-name >jfinal< /filter-name>
< filter-class >com.jfinal.core.JFinalFilter
< init-param >
< param-name > configClass < /param-name>
< param-value >com.demo.common.DemoConfig< /param-value >


< filter-mapping >
< filter-name > jfinal < /filter-name >
< url-pattern >/*




-----------------------------------------
com.demo.common.DemoConfig 代码如下:
-----------------------------------------

package com.demo.common;
import com.demo.index.IndexController;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.core.JFinal;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.jfinal.template.Engine;

public class DemoConfig extends JFinalConfig {
static Prop p;
public static void main(String[] args) {
JFinal.start("WebRoot", 80, "/");
}

static void loadConfig() {
if (p == null) {
p = PropKit.useFirstFound("demo-config-pro.txt", "demo-config-dev.txt");
}
}


public void configConstant(Constants me) {
loadConfig();

me.setDevMode(p.getBoolean("devMode", false));
me.setInjectDependency(true);
me.setInjectSuperClass(true);
}

/**
* 配置路由
*/
public void configRoute(Routes me) {
me.add("/", IndexController.class, "/index"); // 第三个参数为该Controller的视图存放路径
}

public void configEngine(Engine me) {
}

public void configPlugin(Plugins me) {
}


public void configInterceptor(Interceptors me) {
}

public void configHandler(Handlers me) {
}
}

-----------------------------------------
IndexController 代码如下:
-----------------------------------------

package com.demo.index;

import com.jfinal.core.Controller;

public class IndexController extends Controller {
public void index() {
renderText(" hello OK ");

}
}


IDE 为 IntelliJ IDFEA 2019 ,JFinal 4.3 , jetty 启用

根据提示,应该是程序根本就没有调用 com.demo.common.DemoConfig , 不清楚是什么地方没配置对? 希望专家给予指导,谢谢,

JFinal

2019-07-25 19:24

启动代码JFinal.start("WebRoot", 80, "/") 第一个参数为什么是 WebRoot ?

下载首页的 jfinal demo for maven , 导入即可运行

这里有同样问题的人:
http://www.jfinal.com/feedback/6252

lhl_yn_km

2019-07-26 10:29

blog例子已经可以运行通过,自己重建一个工程却跑不通

http://www.jfinal.com/feedback/6252 这个贴子我也看了,问题还是没有解决。

我的web文件夹目录是 “web” ,
修正方法调用 JFinal.start("web", 80, "/");
可以依然还是无法调用到 configRoute 、configConstant 方法,感觉是配置不对,但不清楚是该配置哪? 求指导一下。


< filter >
< filter-name > jfinal
< filter-class > com.jfinal.core.JFinalFilter
< init-param >
< param-name > configClass
< param-value > com.demo.common.DemoConfig



< filter-mapping >
< filter-name > jfinal
< url-pattern > /*

JFinal

2019-07-26 11:12

@lhl_yn_km 建议按 eclipse 生成的默认结构去走

如果不按 eclipse 的默认项目结构走的话,自己要多配置一些东东, 当然,这些配置是针对 eclipse 自身的

这里主要是要关注这个配置:
https://www.jfinal.com/doc/1-8

也就是文档中的有关 "Default Output Folder" 的配置,这个配置要指向 WEB-INF/classes 之下,而你改变了目录结构,要重新配置,还是那句话,注意看文档:
https://www.jfinal.com/doc/1-8

JFinal

2019-07-26 11:14

@JFinal 补充一下,上面给出的文档链接,其中第三部分,有红色字体强调过:
特别注意:此处的 Default out folder必须要与 WebRoot\WEB-INF\classes 目录完全一致才可以使用 JFinal 集成的 Jetty 来启动项目。

你将 WebRoot 改成了 web ,很可能是这里的配置不对,这个配置也可以在生成项目完成之后,通过右键点击项目,再点击属性,再点击 "Java Build Path" 去配置

其实这些配置与 jfinal 都是无关的,你开发普通的 java web 项目也会要让 class 文件生成到 WEB-INF/classes 之下

lhl_yn_km

2019-07-29 15:41

问题已搞定, 是路径设置问题导致的,多谢支持!

热门反馈

扫码入社