效果圖:java
1、寫控制器
1.在controller包中新建AdminController後臺控制器,繼承Controller,實現一個index方法,做爲的處理方法. python
/admin數據庫
後面,這個控制器中還能夠定義管理員登陸等的一些方法.後端
package cn.pangpython.controller; import com.jfinal.core.Controller; public class AdminController extends Controller { public void index(){ renderText("後臺主頁"); } }
2.在controller包中新建UserController用戶控制器,繼承Controllerapp
package cn.pangpython.controller; import com.jfinal.core.Controller; public class UserController extends Controller { public void index(){ renderText("用戶主頁"); } }
2、定義先後端路由,並綁定控制器
1.在routes包中新建FrontRoutes路由器,繼承JFinal的Routeside
package cn.pangpython.routes; import com.jfinal.config.Routes; import cn.pangpython.controller.IndexController; import cn.pangpython.controller.UserController; /** * @author pangPython * 前臺路由 */ public class FrontRoutes extends Routes { @Override public void config() { add("/",IndexController.class); add("/user",UserController.class); } }
其中,將根url與IndexController首頁控制器綁定,將user Url與用戶控制器綁定
2.新建AdminRoutes繼承JFinal的Routesurl
package cn.pangpython.routes; import com.jfinal.config.Routes; import cn.pangpython.controller.AdminController; /** * @author pangPython * 後臺路由 */ public class AdminRoutes extends Routes { @Override public void config() { add("/admin",AdminController.class); } }
其中,設置admin URL與後臺控制器綁定
3、將路由添加進JFinal配置文件中
在config包中MyJFinalConfig類中重寫的configRoute方法中實例化先後臺路由spa
@Override public void configRoute(Routes me) { //添加前臺路由 me.add(new FrontRoutes()); //添加後臺路由 me.add(new AdminRoutes()); }
單獨定義先後臺路由這個方法是JFinal
官方文檔中建議的作法,有利於大項目的分工協同.
MyJFinalConfig.java.net
package cn.pangpython.config; 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.core.JFinal; import cn.pangpython.controller.IndexController; import cn.pangpython.routes.AdminRoutes; import cn.pangpython.routes.FrontRoutes; /** * @author pangPython * JFinal 項目配置文件 */ public class MyJFinalConfig extends JFinalConfig { @Override public void configConstant(Constants me) { //開啓開發模式 me.setDevMode(true); //這裏能夠經過配置文件來讀取配置參數,更靈活 } @Override public void configRoute(Routes me) { //添加前臺路由 me.add(new FrontRoutes()); //添加後臺路由 me.add(new AdminRoutes()); } @Override public void configHandler(Handlers arg0) { // 這裏能夠配置全局處理器 防止直接訪問模板文件暴露數據庫表和字段 } @Override public void configInterceptor(Interceptors arg0) { // 這裏能夠配置攔截器進項權限管理 } @Override public void configPlugin(Plugins arg0) { // 這裏能夠配置JFinal的各類插件,好比數據庫插件等 } //使用JFinal內置的jetty啓動項目,直接做爲java application運行此文件 public static void main(String[] args) { JFinal.start("WebRoot", 80, "/", 5); } }
運行MyJFinalConfig文件就能夠看到效果了.插件