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 !

jfinal的配置文件详解的更多相关文章

  1. quartz配置文件详解

    quartz配置文件详解(转载)     quartz学习总结: 一.关于job:    用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...

  2. WebConfig配置文件详解

    今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...

  3. tomcat配置文件详解

    Tomcat系列之服务器的安装与配置以及各组件详解   tomcat 配置文件详解

  4. ubuntu nginx 安装以及配置文件详解

    1.到nginx官网下载源码包.最好下载稳定版本,nginx官网http://www.nginx.org/ 2.安装nginx依赖包运行命令: sudo apt-get install libssl- ...

  5. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

  6. spring配置文件详解--真的蛮详细

    spring配置文件详解--真的蛮详细   转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...

  7. net-snmp配置文件详解

    net-snmp配置文件详解 net-snmp的配置文件是有一定的层次结构的,配置起来也很方便.网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点.其实在net-snmp的EXAMPLE.con ...

  8. Rsyslog配置文件详解

    Rsyslog配置文件详解https://my.oschina.net/0757/blog/198329 # Save boot messages also to boot.log 启动的相关信息lo ...

  9. (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)

    LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...

随机推荐

  1. 用js判断屏幕的宽度,改变html字体大小用rem布局

    if (document.documentElement.clientWidth > 600) {//页面宽度大于600px让其宽度等于600px,字体大小等于60px,居中 document. ...

  2. untiy AnimationEvent添加返回参数

    using UnityEngine; using System.Collections; public class Try : MonoBehaviour { public class Action ...

  3. 3DMAX 多维材质及对应的UVW展开,UVW贴图

    多维材质说明 多维材质就是一个模型多个材质,(混合材质是多个材质混一起,跟这个貌似没关,比如地表草地,泥土等的混合操作) 作用: 比如一个模型就是需要两种材质,刀的金属刀身,木质刀柄,墙的一面是木板, ...

  4. DNS(域名系统)服务器

    DNS(Domain Name System),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的Ip数串.通过主机名,最终得到该主机 ...

  5. selenium IDE插件下载

    1.在https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/中下载Firefox的selenium-ide插件: 2.之后在Firef ...

  6. python 扩展注册功能装饰器举例

    db_path='db.txt'def get_uname(): while True: uname=input('请输入用户名:').strip() if uname.isalpha(): with ...

  7. 使用echo命令向文件写入内容

    0.前言     本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符.     echo向文件中输出内容 ...

  8. MySQL数据库(3)

    外键的变种(三种关系),数据的增删改,单表查询,多表查询 一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了 ...

  9. LWIP应用指南学习。

    一 TCP接口函数:tcp_init() 必须在调用其它TCP函数之前调用,必须用一个硬件定时器来配置每TCP_FAST_INTERVAL (ms)调用一次tcp_fasttmr() :每TCP_SL ...

  10. SQLServer数据库表字段超长,找到超长字段脚本

    平时开发系统时偶尔会遇到数据超长导致往数据库中保存时出错. 使用下边的脚本可以方便的找出超长的字段. 1.通过正式表创建临时表,修改临时表中varchar.nvarchar的长度为max ); ); ...