當用戶訪問系統(tǒng)時,所有請求先進過在web.xml中配置的com.jfinal.core.JFinalFilter這個核心類,
先執(zhí)行這個類的的init方法,實例化jfinalConfig對象,這個對象是需要開發(fā)者自己定義一個類繼承
JFinalConfig類,實現(xiàn)幾個抽象方法,其中public void configConstant(Constants me)方法是配置數(shù)據(jù)庫的信息,
開發(fā)模式,視圖的類型等,public void configRoute(Routes me)方法是配置訪問路徑的路由信息,
public void configPlugin(Plugins me) 方法是配置數(shù)據(jù)庫連接,其他一些插件,對象模型, public void configInterceptor(Interceptors me)方法是配置全局攔截器,public void configHandler(Handlers me)
是配置處理器,此方法會得到訪問的url,進行處理。此類需要在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>com.demo.config.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在JFinalFilter類中當執(zhí)行完init方法后,會執(zhí)行jfinal類的init方法,此方法是先定義得到工程的路徑,再初始化開發(fā)者剛剛寫的
繼承JFinalConfig類的類,讀入配置信息。當init方法執(zhí)行完后,執(zhí)行doFilter方法,得到用戶訪問的url,分到不同的handler中進行處理