使用JFinal/Jsmart框架开发体验(一)

写在最前,关于学习框架的一些个人体会http://aiilive.blog.51cto.com/1925756/1254869


通过开发一个小例子,完整的体现了Jsmart的各种主要特性,MVC架构,遵循COC配置原则,AOP和Plugin等。

一步一步学习和体会JFinal/Jsmart这款框架。

  • 第一步:创建数据库表

数据表结构如图1-1184245959.png

  1. com.broncho.jsmart.common工程的公共部分,存放配置文件和公共类

  2. com.broncho.jsmart.controller 工程的Controller包,控制部分,属于MVC中的C部分;

  3. com.broncho.jsmart.interceptor 放置拦截器类;

  4. com.broncho.jsmart.model 工程中的Model,属于MVC中的M部分;

  5. com.broncho.jsmart.service 业务处理类;

  6. com.broncho.jsmart.validator 放置校验器类;

  7. mapping-font.xml Controller中的Action转发依据,配置文件

  8. WebRoot下error放在错误页面;

  9. WebRoot下rs放置资源文件;

  10. WebRoot下upload放置上传文件;

  11. WebRoot下users放置Users模块的视图文件

  • 工作内容:

  1. 配置信息;

  2. 用户登录;

  3. 查看所有用户;

  4. 删除用户;

  5. 上传文件;

  6. 下载文件

  • 具体实现

    1.配置文件:

    ◇ JdemoConfig.Properties,配置文件放置到common包下。


jdbcUrl=jdbc:mysql://localhost:3306/bbs?characterEncoding=utf-8&zeroDateTimeconvertToNull
user=root
password=xxx
driverClass=com.mysql.jdbc.Driver
#开发模式
devMode=true
#是否显示SQL
showSql=true< /pre><p>    ◇配置类,继承JsmartConfig类,重写相应的方法,其中关键的3个方法如下代码所示。</p><p><br></p><pre class="brush:java;toolbar:false;">package com.broncho.jsmart.common;
import com.broncho.jsmart.interceptor.GlobalInterceptor;
import com.broncho.jsmart.model.users.Users;
import com.jsmart.config.Constants;
import com.jsmart.config.Handlers;
import com.jsmart.config.Interceptors;
import com.jsmart.config.JSmartConfig;
import com.jsmart.config.Plugins;
import com.jsmart.config.Routes;
import com.jsmart.ext.plugin.sqlinxml.SqlInXmlPlugin;
import com.jsmart.ext.route.RouteCfg;
import com.jsmart.plugin.activerecord.ActiveRecordPlugin;
import com.jsmart.plugin.c3p0.C3p0Plugin;
import com.jsmart.render.ViewType;
/**
 * 使用Jsmart框架,配置全局信息
 *
 * @author Broncho
 * @time 2013年7月17日 09:16:38
 */
public class JdemoConfig extends JSmartConfig {
    @Override
    public void configConstant(Constants me) {
        loadPropertyFile("classes/com/broncho/jsmart/common/jdemoConfig.Properties");
        me.setViewType(ViewType.JSP);
        me.setDevMode(getPropertyToBoolean("devMode"));
        me.setEncoding("UTF-8");
        me.setError404View("error/error404.jsp");
        me.setError404View("error/error500.jsp");
    }
    @Override
    public void configRoute(Routes me) {
        /**
         * 前台路由转发设置
         */
        me.add(new RouteCfg("mapping-front.xml"));
    }
    @Override
    public void configPlugin(Plugins me) {
        /**
         * 配置数据源和数据库连接池插件
         */
        C3p0Plugin c3p0 = new C3p0Plugin(getProperty("jdbcUrl"),
                getProperty("user"), getProperty("password"),
                getProperty("driverClass"));
        me.add(c3p0);
        /**
         * 配置数据库表映射插件
         */
        ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0);
        arp.setShowSql(getPropertyToBoolean("showSql"));
        me.add(arp);
    }
    @Override
    public void configInterceptor(Interceptors me) {
        me.add(new GlobalInterceptor());
    }
    @Override
    public void configHandler(Handlers me) {
        // TODO Auto-generated method stub
    }
}

1.路由转发,使用XML配置文件进行信息设置,配置信息如下代码

<?xml version="1.0" encoding="UTF-8"?>
<mappings>
    <!-- 用户功能 -->
    <map ctlKey="/users" ctlClass="com.broncho.jsmart.controller.users.UsersController"
        viewpath="/" />
</mappings>

2.插件配置,使用了C3P0数据库连接池,因此要依赖第三方jar包,下图是工程所依赖的jar截图:205754617.png

   红色线框标注是使用C3P0数据库连接池插件的依赖包

3.路由转发是根据2中的配置信息来进行的。

  例如: 该链接是默认访问地址http://localhost:8080/Jdemo/index.jsp

        访问Action的地址:http://localhost:8080/Jdemo/users/loginUsers

 其中users是1中配置文件中ctlkey的值,loginUsers是ctlclass对于的Controller类的方法。

4.在项目中使用绝对路径。


   JFinal的页面控制器有Controller类来完成,其中转发的工作则是路由转发的配置文件,该文件是整个控制流程的核心部分。

   JFinal还可以使用注解的方式来进行路由转发路径的设置,这将使用JFinal的插件机制可以完成,在Jsmart中则使用了这一方式。

   整个使用JFinal框架进行Web开发,将侧重Controller的路由转发,数据访问层可以使用ibatis等ORM框架,视图模版引擎FreeMarker,jsp, Rythm,beetl.

文件太大,无法上传,请联系本人传输! 目前只有我这里提供JAR包下载和帮助文档,主要功能:<br>QQ:510876005 电话0579-85298128 13045784345 <br>组织:阿Q软件开发工作室<br>插件功能:快速开发JavaWeb程序<br>主要功能:<br>1、SSH框架一键配置<br>2、JSP列表标签导入及JSP页面列表快速生成(内置两套开源标签)<br>3、AJAX框架两套EXT2及DWR框架快速导入<br>4、HTML在线编辑器一键导入功能<br>5、MVC模式框架代码快速生成..<br>6、其它如过滤器等等...<br>帮助文档:<br>本插件在Eclipse3.2,3.3 myeclipse5.5,6.0平台上测试通过。<br><br><br>免费版本<br><br>安装方法:<br>1/关闭eclipse,将此jar包放在Eclipse安装目录中的plugins里即可(不要解压)。<br>2/将eclipse下的configuration文件夹里的文件夹全部删除,config.ini不删除。<br>3/重启动eclipse<br><br>使用方法:<br>1、新建一个WEB工程<br>2、在工程上点右键,选择'寻觅插件..';点击你所需要的功能。<br>3、如果涉及到新建JSP页面,注意在新建文件时选择'寻觅插件'下的向导,可以快速构建JSP列表页面.<br><br><br>主要功能:<br>1、SSH框架一键配置<br>2、JSP列表标签导入及JSP页面列表快速生成(内置两套开源标签)<br>3、AJAX框架两套EXT2及DWR框架快速导入<br>4、HTML在线编辑器一键导入功能<br>5、MVC模式框架代码快速生成..<br>6、其它如过滤器等等...<br><br><br>版本历史:<br>Beta1:基本功能<br>2008年3月,4月开发出雏形<br>v1.0<br>2008年5月修正了SSH不能可视化编辑struts-config.xml文件的问题,优化了进度条显示问题。<br>2008年6月修正了生成自定义MVC框架时的包名不能自定义的bug,修正了MYECLIPSE5.5开发struts1.3的bug<br>自定义MVC框架时加入了批量生成功能,支持多选文件<br>   加入了运行前的提示框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值