选择普通的maven项目,点击next
选择本地工作空间
创建的目录结构没有java,在main下面创建java文件夹
创建一个demo包
pom文件里面添加jfinal依赖
在web.xml中配置拦截器以及端口
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<!–是jfinal 封装好的一个过滤器,–>
<init-param>
<param-name>configClass</param-name>
<param-value>demo.DemoConfig</param-value>
<!–BaseConfig文件在项目中的位置–>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
创建配置类,继承JFinalConfig
package demo;
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.ext.handler.FakeStaticHandler;
import com.jfinal.kit.PropKit;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
public class DemoConfig extends JFinalConfig {
public static void main(String[] args) {
UndertowServer.start(DemoConfig.class, 80, true);
}
@Override
public void configConstant(Constants arg0) {
arg0.setDevMode(true);
arg0.setReportAfterInvocation(false);
PropKit.use("DataSourceConfig.properties");
}
@Override
public void configEngine(Engine arg0) {
// TODO Auto-generated method stub
}
@Override
public void configHandler(Handlers arg0) {
// arg0.add(new FakeStaticHandler());
}
@Override
public void configInterceptor(Interceptors arg0) {
// TODO Auto-generated method stub
}
@Override
public void configPlugin(Plugins arg0) {
// TODO Auto-generated method stub
}
@Override
public void configRoute(Routes arg0) {
arg0.add("/hello",HelloController.class);
}
}
写Controller类
package demo;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index(){
renderText(“Hello JFinal World”);
}
}