import com.jfinal.aop.Interceptor;
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.ActionInvocation;
import com.jfinal.render.ViewType;
public class JFinalConfig extends JFinalConfig
{
public void configConstant(Constants me) //配置jfinal常量值
{
me.setDevMode(true); //配置开发模式常量
me.setViewType(ViewType.JSP); //配置视图类型JSP(默认)、FreeMarker、Velocity
}
public void configRoute(Routes me) //配置Jfinal访问路由
{
//将“/hello”映射到“HelloController”的控制器,并默认访问index()方法
//public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath)==>vierPath默认为controllerkey
//public Routes add(String controllerKey, Class<? extends Controller> controllerClass)
me.add("/hello",HelloController.class);
}
public void configPlugin(Plugins me) //配置jfinal的Plugin
{
//C3p0Plugin 数据库连接池插件
C3p0Plugin c3p0Plugin = new C3p0Plugin(jdbcUrl,user,password);
me.add(c3p0Plugin);
//ActiveRecordPlugin 数据库访问插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
arp.addMapping("user", User.class);
}
public void configInterceptor(Interceptors me) //配置拦截器
{
//Interceptor 配置粒度分为Global、Controller、Action三个层次
//在此处配置的拦截器将会对所有的请求进行拦截,除非使用@ClearInterceptor在Controller中清除.
me.add(new AutoInterceptor());
}
public void configHandler(Handlers me)
{
//Handler可以接管所有web请求,并对应用拥有完的控制权,可以很方便地实现更高层的功能性扩展。
me.add(new handler());
}
//JFinal 会在系统启动完成后回调afterJFinalStart()方法,会在系统关闭前回调beforeJFinalStop()方法。
//这两个方法可以很方便地在项目启动后与关闭前让开发者有机会进行额外操作,
//如在系统启动后创建调度线程或在系统关闭前写回缓存。
}