zoukankan      html  css  js  c++  java
  • JFinal Web开发学习(三)前后台路由设计

    效果图:

    一、写控制器 
    1.在controller包中新建AdminController后台控制器,继承Controller,实现一个index方法,作为的处理方法. 

    /admin

     后面,这个控制器中还可以定义管理员登录等的一些方法.

    package cn.pangpython.controller;
    
    import com.jfinal.core.Controller;
    
    public class AdminController extends Controller {
        public void index(){
            renderText("后台主页");
        }
    }

    2.在controller包中新建UserController用户控制器,继承Controller

    package cn.pangpython.controller;
    
    import com.jfinal.core.Controller;
    
    public class UserController extends Controller {
        public void index(){
            renderText("用户主页");
        }
    }

    二、定义前后端路由,并绑定控制器 
    1.在routes包中新建FrontRoutes路由器,继承JFinal的Routes

    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的Routes

    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与后台控制器绑定 
    三、将路由添加进JFinal配置文件中 
    在config包中MyJFinalConfig类中重写的configRoute方法中实例化前后台路由

    @Override
        public void configRoute(Routes me) {
            //添加前台路由
            me.add(new FrontRoutes());
            //添加后台路由
            me.add(new AdminRoutes());
        }

    单独定义前后台路由这个方法是JFinal 
    官方文档中建议的做法,有利于大项目的分工协同. 
    MyJFinalConfig.java

    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文件就可以看到效果了.

    参考原文:https://blog.csdn.net/u012995856/article/details/52739246

  • 相关阅读:
    学习ActiveMQ(七):JMS消息的事务管理
    2020杭电多校第三场题解
    2020牛客暑期多校训练营第六场题解
    2020杭电多校第二场题解
    2020 Petrozavodsk Winter Camp, Jagiellonian U Contest 部分题解
    Educational Codeforces Round 86 (Rated for Div. 2) 部分题解
    2020, XIII Samara Regional Intercollegiate Programming Contest 题解
    2019 JUST Programming Contest题解
    2019-2020 ICPC Asia Taipei-Hsinchu Regional Contest 部分题解
    2019 ICPC Universidad Nacional de Colombia Programming Contest 题解
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10293196.html
Copyright © 2011-2022 走看看