1.1 JFinal創建項目
使用Maven創建Jfinal項目
引入Jfinal的jar包
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>2.2</version>
</dependency>
1.3 修改 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.4 添加 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.5啓動項目並訪問 http://localhost/hello
輸出內容爲 Hello JFinal World 證明項目 框架搭建完成。