Jfinal项目配置


                                       

Jfinal的web项目,首先需要创建一个继承JfinalConfig类的子类:


public class BpmsConfig extends JFinalConfig


 然后,需要实现其中的五个抽象方法:

1.configConstant 此方法用来配置 JFinal 常量值

   @Override
	public void configConstant(Constants me) {
		PropKit.use("config.properties");//加载配置文件
		
                me.setDevMode(PropKit.getBoolean("devMode"));//开发者模式,为true时开启
		me.setViewType(ViewType.JSP);//以jsp为视图文件,JFinal 支持 JSP、FreeMarker、Velocity 三种常用视图。 
		me.setEncoding("UTF-8");
		
		//文件上传最大多少,这里设置300M
		me.setMaxPostSize(300 * 1024 * 1024);
	}

在开发模式下,JFinal 会对每次请求输出报告,如输出本次请求的 Controller、Method 以及请求所携带的参数。如:

JFinal action report -------- 2017-03-04 12:30:02 ------------------------------
Controller  : org.bpms.controller.admin.UserController.(UserController.java:1)
Method      : index
Interceptor : org.bpms.interceptor.GlobalInterceptor.(GlobalInterceptor.java:1)
Parameter   : _=1457065802122  tabid=e594ce962faa404babe4c8ce2ccaf177 

2.configHandler 此方法用来配置JFinal的处理器

@Override
	public void configHandler(Handlers me) {
		me.add(new BpmsHandler());
	}

3.configInterceptor 此方法用来配置 JFinal 的全局拦截器,全局拦截器将拦截所有 action 请求,除非使用@Clear 在 Controller 中清除

  @Override
	public void configInterceptor(Interceptors me) {
		me.add(new GlobalInterceptor());
	}

4.configPlugin 此方法用来配置 JFinal的插件

@Override
    public void configPlugin(Plugins me) {
        Prop p = PropKit.use("config.properties");//非第一次使用该配置文件
        //加载数据库配置
        c3p0Plugin = new C3p0Plugin(p.get("jdbc_url"), 
                p.get("jdbc_username"), p.get("jdbc_password"));
        me.add(c3p0Plugin);
        //自动扫描model,绑定table
        AutoTableBindPlugin arp = new AutoTableBindPlugin(c3p0Plugin , SimpleNameStyles.LOWER);
        me.add(arp);
        
        //配置snaker插件
        SnakerPlugin snakerPlugin = new SnakerPlugin(c3p0Plugin , p.getProperties());
        me.add(snakerPlugin);
        
        // Quartz调度插件---配合snaker工作流,使用数据库来持久化
        QuartzPlugin quartzPlugin = new QuartzPlugin();
        me.add(quartzPlugin);
        
        //简单任务调度--内存持有,无持久化
        SchedulerPlugin sp = new SchedulerPlugin("job.properties");
        //添加插件
        me.add(sp);
        
      //使用redis缓存方案时使用weixin作为主缓存,打开连接
        if (p.getBoolean("redis_mode")){
            RedisPlugin redisPlugin = new RedisPlugin("weixin", p.get("redis_host"), p.get("redis_pass"));
            me.add(redisPlugin);            
        }
    }


 最后一个configRoute,此方法用来配置 JFinal 访问路由,可以有两种方式:

public void configRoute(Routes me) {
 me.add("/admin", AdminController.class); 
} 

这样就将"/admin"映射到AdminController这个控制器了,如果访问/admin则会访问到AdminController的index()方法

还有一种写法:

@Override
	public void configRoute(Routes me) {
		me.add(new AdminRoutes());
	}

在这个方法里加载这个类,然后在这个类里配置映射:


public class AdminRoutes extends Routes {

	@Override
	public void config() {
		add("/admin", AdminController.class);
		add("/menu", MenuController.class);
		add("/role", RoleController.class);
		add("/user", UserController.class);
		add("/dept", DeptController.class);
		add("/log", LogController.class);
		add("/upload", FileUploadController.class);
		add("/article",ArticleController.class);
		//微信
		add("/weixin", WeixinController.class);
		//test
		add("/news", NewsController.class);
	}

}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值