jfinal框架的初級學習

1.同strust2,使用jfinal框架首先須要在web.xml配置本身的過濾器(com.jfinal.core.JFinalFilter),並初始化JFinalConfig類。html

   <filter>
        <filter-name>JFianl</filter-name>
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>
        <init-param>
            <param-name>configClass</param-name>
            <param-value>com.xxxx.jfinal.config.MyJFinalConfig</param-value> 
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>JFianl</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2.初始化的MyJFinalConfig類爲JFinalConfig子類,MyJFinalConfig繼承了父類的5個抽象方法:web

① configConstant(Constants arg0) 該方法用於初始化系統部分全局參數,如設置是否爲開發模式、編碼格式、視圖解析、URL參數分隔符、POST請求參數大小等等。數據庫

    @Override
    public void configConstant(Constants arg0) {
        // TODO Auto-generated method stub
        //設置開發者模式(控制檯會輸出相關數據),默認非開發者模式
        arg0.setDevMode(true) ;
        //設置編碼格式
        arg0.setEncoding("UTF-8") ;
        //設置解析視圖類型,默認爲FREE_MARKER(即html頁面),還有JSP、VELOCITY
        arg0.setViewType(ViewType.JSP); 
    }

② configPlugin(Plugins arg0) 該方法用於配置JFinal須要用到的相關plugin,如緩存機制、數據庫鏈接池、數據庫操做等等plugin。緩存

   @Override
    public void configPlugin(Plugins arg0) {
        // TODO Auto-generated method stub
        //數據庫鏈接插件
        C3p0Plugin cp = new C3p0Plugin("jdbc:oracle:thin:@10.0.65.22:1521:orcl", "scott", "xxxx", "oracle.jdbc.driver.OracleDriver") ;
        arg0.add(cp) ;
        //數據庫訪問插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(cp) ;
        arg0.add(arp) ;
        // 配置Oracle方言  
        arp.setDialect(new OracleDialect());  
        //設置大小寫不敏感
        arp.setContainerFactory(new CaseInsensitiveContainerFactory(true)) ;
        //添加model mapping
        arp.addMapping("teacher", "T_ID", Teacher.class) ;
    }

③ configRoute(Routes arg0) 該方法用於設置控制器Controller的請求映射路徑和action中方法的視圖部分路徑oracle

    @Override
    public void configRoute(Routes arg0) {
        // TODO Auto-generated method stub
        //配置controller及其所匹配的路徑(至關於struts.xml中的namespace)
        arg0.add("/test", MyJFinalController.class); 
    }    

④ configHandler(Handlers arg0) 此方法用來配置JFinal的Handler,Handler能夠接管全部 web 請求,並對應用擁有徹底的控制權,能夠很方便地實現更高層的功能性擴展。app

⑤ configInterceptor(Interceptors arg0) 此方法用來配置 JFinal 的全局攔截器,全局攔截器將攔截全部 action 請求框架

3. jfinal的控制中心controller,繼承了com.jfinal.core.Controller類,會根據頁面請求執行相應方法。ide

① controller方法與請求映射方式編碼

  默認是請求路徑與method名一致,如發請求 localhost:8080/jfinal/test/list ("/test"爲該controller的namespace),則默認執行 MyJFinalController類的 list();若是直接發請求 localhost:8080/jfinal/test 則默認會執行MyJFinalController類的 index();url

  若使用@ActionKey()註解則會打破以前配置的請求路徑映射,以下,此時再請求localhost:8080/jfinal/test/list 則會不會執行list(),@ActionKey("/list")會讓以前的namespace無效,此時的正確訪問路徑爲localhost:8080/jfinal/list。

  @ActionKey("/list")
    public void list(){
        
    }
相關文章
相關標籤/搜索