转载自:https://blog.csdn.net/agambler/article/details/78665174
1.1 JFinal创建项目
使用Maven创建Jfinal项目
引入Jfinal的jar包
- <dependency>
- <groupId>com.jfinal</groupId>
- <artifactId>jfinal</artifactId>
- <version>2.2</version>
- </dependency>
1.2修改 web.xml
将如下内容添加至 web.xml
- <filter>
- <filter-name>jfinal</filter-name>
- <filter-class>com.jfinal.core.JFinalFilter</filter-class>
- <init-param>
- <param-name>configClass</param-name>
- <param-value>demo.DemoConfig</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>jfinal</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
demo.DemoConfig是项目的总配置文件,里面包含项目的所有配置信息,包含数据库(mysql等)、缓存(redis等)等相关的连接信息,以及数据库表与实体类的映射信息,还有路由的控制信息等,详细信息见Jfinal—JFinalConfig解析
1.3 添加 java 文件
在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件, 内容如下:
- package demo;
- import com.jfinal.config.*;
- public class DemoConfig extends JFinalConfig {
- //配置JFinal常量值,如开发模式常量devMode的配置me.setDevMode(true);
- //在开发模式下,JFinal会对每次请求输出报告,如输出本次请求的url、controller、method以及请求所携带的参数。
- public void configConstant(Constants me) {
- me.setDevMode(true);
- me.setViewType(ViewType.JSP);
- me.setMaxPostSize(2000000000);
- }
- //配置访问路由,当在Controller中方法中加入@ActionKey, 则直接访问@ActionKey的路径即可,与Spring MVC中的RequestMapping类似。
- //一般会单独封装
- public void configRoute(Routes me) {
- {
- me.add("/hello",HelloController.class);
- }
- //配置插件(数据库mysql,缓存redis等)
- public void configPlugin(Plugins me) {}
- //配置JFinal全局拦截器,拦截所有action请求,除非使用@Clear在Controller中清除。
- //Interceptor配置粒度分为Gloal、Inject、Class、Method
- public void configInterceptor(Interceptors me) {}
- //Handler可以接管所有的web请求,并对应用拥有完全的控制权,可以很方便地实现更高层的功能性扩展。
- public void configHandler(Handlers me) {}
注意:DemoConfig.java 文件所在的包以及自身文件名必须与 web.xml 中的 param-value 标 签内的配置相一致(在本例中该配置为 demo.DemoConfig)。
在 demo 包下创建 HelloController 类文件, 内容如下:
- package demo;
- import com.jfinal.core.Controller;
- public class HelloController extends Controller {
- public void index()
- {
- renderText("Hello JFinal World.");
- }
1.4启动项目并访问 http://localhost/hello
输出内容为 Hello JFinal World 证明项目 框架搭建完成。