zoukankan      html  css  js  c++  java
  • jfinal的配置文件详解

    1、去官网下载最新的jar包(我这是JFinal-lib-2.2)

    tomcat+mysql 所需要的jar

    2、配置web.xml

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

    此处遇到的问题:由于第一次使用/test路径部署,后来改成/ROOT,没有删除原来的部署包,web.xml中的config路径修改后,总是不加载,debug 这个JFinalFilter类,不能部署两个jfinal,否则配置文件会混淆的

    注意:configClass 这个是不能随便修改的 

    3、配置TestConfig.java 

    public class TestConfig extends JFinalConfig {
        /**
         * 配置常量
         */
        @Override
        public void configConstant(Constants me) {
            PropKit.use("jdbc.txt"); // 数据库配置文件,发觉不管放到哪里都可以,没有路径
            me.setViewType(ViewType.JSP);// 默认是freemark
            me.setDevMode(PropKit.getBoolean("devMode", false));
        }
    
        /**
         * 配置处理器
         */
        @Override
        public void configHandler(Handlers me) {
            // TODO Auto-generated method stub
        }
    
        /**
         * 配置拦截器
         */
        @Override
        public void configInterceptor(Interceptors me) {
            // TODO Auto-generated method stub
        }
    
        /**
         * 配置插件
         */
        @Override
        public void configPlugin(Plugins me) {
            // 配置C3p0数据库连接池插件,注意需要两个jar,mchange-commons.jar,c3p.jar
            C3p0Plugin C3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit
                    .get("username"), PropKit.get("password").trim());
            me.add(C3p0Plugin);
    
            // 配置ActiveRecord插件
            ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
            me.add(arp);
    
            // 方式一: 直接配置数据表映射
            arp.addMapping("user", "id", User.class);
    
            // 方式二:配置数据表映射写到一个文件中
            // DbMappingKit.mapping(arp);
        }
    
        /**
         * 配置路由
         */
        @Override
        public void configRoute(Routes me) {
            // 方式一:直接配置文件
            // http://localhost/user 将 访 问 UserController.index() 方 法
            me.add("/user", UserController.class, "/WEB-INF/page/user"); // 第三个参数为该Controller的视图存放路径
            // http://localhost/user/addUser 将 访 问 UserController.addUser() 方 法
             me.add("/user/addUser", UserController.class); // 第三个参数省略时默认与第一个参数值相同
             me.add("/user/saveUser", UserController.class);
            
             // 方式二:使用中间路由
             //me.add(new FrontRoutes()); // 前端路由
            // me.add(new AdminRoutes()); // 后端路由
        }

    3.1、数据库映射的第二种方式:映射表的文件DbMappingKit 

    public class DbMappingKit {
        public static void mapping(ActiveRecordPlugin arp) {
            arp.addMapping("user", "id", User.class);
        }
    }

    同意将映射文件放到一个文件中,方便管理

    3.2、数据库使用druidPlugin 插件

    public void configPlugin(Plugins me) {
            //shiro插件
    
            // 配置C3p0数据库连接池插件
            DruidPlugin druidPlugin = new DruidPlugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));
            druidPlugin.setFilters("stat,log4j");
            
            me.add(druidPlugin); 
            me.add(new EhCachePlugin());
            // 配置ActiveRecord插件
            AutoTableBindPlugin arp = new AutoTableBindPlugin(druidPlugin,TableNameStyle.LOWER);//table是实体的小写
            me.add(arp);
            arp.setShowSql(true);
            SqlReporter.setLogger(true);    
            
    //        ShiroPlugin sh=new ShiroPlugin();
    //        me.add(sh);
        }

    3.3、路由的第二种配置方式,中间路由

    public class AdminRoutes extends Routes {
        @Override
        public void config() {
            add("/user/addUser", UserController.class);
            add("/user/saveUser", UserController.class);
        }
    }

    4.UserController.java

    public class UserController extends Controller {
        public void index() {        
            renderTest("hello word !");
        }    
    }

    此时访问/user,即可看到页面上打印:hello word !

  • 相关阅读:
    使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据
    启用Windows 7/2008 R2 XPS Viewer
    Office 2010培训资料
    WCF WebHttp Services in .NET 4
    ASP.NET MVC 2示例Tailspin Travel
    .NET 4.0 的Web Form和EF的例子 Employee Info Starter Kit (v4.0.0)
    连任 2010 年度 Microsoft MVP
    MIX 10 Session下载
    Microsoft Silverlight Analytics Framework
    Windows Azure入门教学
  • 原文地址:https://www.cnblogs.com/estellez/p/5600600.html
Copyright © 2011-2022 走看看