JFinal上手demo(1)

简介: JFinal上手demo

jfinal初上手,搭建demo小项目。


推荐语


JFinal 极速开发


JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。 在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)


JFinal有如下主要特点:

- MVC架构,设计精巧,使用简单

- 遵循COC原则,零配置,无xml

- 独创Db + Record模式,灵活便利

- ActiveRecord支持,使数据库开发极致快速

- 自动加载修改后的java文件,开发过程中无需重启web server

- AOP支持,拦截器配置灵活,功能强大

- Plugin体系结构,扩展性强

- 多视图支持,支持FreeMarker、JSP、Velocity

- 强大的Validator后端校验功能

- 功能齐全,拥有struts2的绝大部分功能

- 体积小仅248K,且无第三方依赖

既然是开源的好东西,那么为了表示一下我的情怀,我也捐助了19元,希望jfinal的研发人员有更强的动力走下去。

image.png


搭建jfinal环境


第一步,我们创建web项目

image.png


第二步,添加必要的jar包

image.png


第三步,修改web.xml


<display-name>ymeng</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
        <param-name>configClass</param-name>
        <!-- 对应的系统初始化类 -->
        <param-value>com.hc.jf.config.InitConfig</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

添加Java文件 

1.InitConfig.java

@Override
    public void configConstant(Constants me) {
        // 加载少量必要配置,随后可用PropKit.get(...)获取值
        PropKit.use("jdbc.properties");
        me.setDevMode(PropKit.getBoolean("devMode", false));
        me.setViewType(ViewType.JSP);                           // 设置视图类型为Jsp,否则默认为FreeMarker
    }
    @Override
    public void configRoute(Routes me) {
        me.add("/", IndexController.class, "/index");   // 第三个参数为该Controller的视图存放路径
        me.add("/mem", MembersController.class);            // 第三个参数省略时默认与第一个参数值相同,在此即为 "/mem"
    }
    @Override
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password")
                .trim());
        me.add(c3p0Plugin);
        // 配置ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
        me.add(arp);
        arp.addMapping("members", Members.class); // 映射会员 表到 会员模型
    }


先不去思考究竟要表达什么,三个方法的作用分别如下:

1. 配置数据库连接以及视图表达方式,这里选用的是jsp,freemarker用了一会觉得不得要领,但是往后可能还需要尝试,我们的前端差不多还得使用html。

2. 配置前后端的URL,即访问地址,这个很关键,很多时候这个地方容易搞混乱,在后面我会再次说明。

3. 创建数据库连接,关联模型。数据库访问基本上是必须的!


相关文章
|
SQL 前端开发 JavaScript
JFinal上手demo(2)
JFinal上手demo
141 0
JFinal上手demo(2)
|
Web App开发 前端开发 Java
JFinal上手demo
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48286709 jfinal初上手,搭建demo小项目。
1198 0
|
2月前
|
前端开发 JavaScript UED
JFinal框架中防止表单重复提交的方法
每种方法都有其优势和局限性。Token机制能提供较为稳定可靠的保护,但增加了服务器端的处理负担。锁定机制在处理并发请求时更有效,但可能导致用户体验的下降。JavaScript客户端控制提供了良好的用户体验,但依赖于客户端的执行环境。在实际应用中,可以根据具体的场景和需求,选择最适合的方法,或者将多种方法组合使用,以达到最佳的效果。
26 10
|
JavaScript 前端开发 Java
JFinal框架单文件、多文件上传详解
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/79386540 简介  ...
2783 0
|
Java PHP Spring
从今天开始,要入jfinal的坑了,试试这破框架好不好用。
公司要用jfinal,所以我要入坑了。 听说时去年很火的java框架,不知好不好,试试水吧。 看官网就想吐槽 看个文档吧,还要注册。。。现在是2017年吗?? 好吧,注册完了,接着就。
2016 0
|
Java 调度 Maven
JFinal框架_定时触发程序
JFinal框架进行作业调度,使用JFinal-ext2与quartzf进行配置。 maven说明: com.jfinal jfinal 3.2 com.jfinal jfinal-ext2 2.
1697 0
|
Java 数据格式 XML
jfinal框架文件下载功能代码
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/72779838 一. 前言   上一篇博客我们了解了struts2框架的文件下载功能代码,我们可以从中总结到,struts2主要是通过其xml的配置来处理文件下载的,也就是将普通io流文件下载的页面响应方式的这部分代码分离出来,使用xml配置来处理,这也是struts2的特性。
1753 0