首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> J2EE >> mvcwea >> 正文

超级简单的mvc框架ajf1.2发布

    没有在网上公开发部,与大家一同学习,分享,交流经验,旧版本的代码可以参考我以前的文章,设计思路上差不多。新版本中加入了preHandler,postHandler,exceptionHandler等方法,可自定义实现,这个来自于spring mvc,其实以前有,只不过不是叫这些名字,改了之后显得更专业些

加入了 自动事务处理功能
       调用start()即可,其后的数据库操作加入事务容器,自动提交,回滚
       当然 "事务容器"只是个概念,用把template和proxy即可轻松实现的,当然也不支持分布式事务拉,不过应付一般项目足以与webwork类似,action来一个new一个,没有线程安全问题action里可放心大胆使用成员变量

配置文件在见jf.xml

关于跳转路径

有!前缀的使用redirect,没有的则forward

ajf (agile java framework)

// power magic action ,from struts,webwork and spring mvc


//组合使用 command,template,proxy,decorator,filter,chain等设计模式
//实现了类似aop功能,轻松实现日志,权限,连接,事务等问题
//拥有一个超强魔力的action基类

//还可以覆盖实现preHandler,postHandler,exceptionHandler

//做各种各样的前置后置异常处理等动作

//在这里你可以看到struts,webwork,spring mvc等框架的影子

//BaseAction extends Action
//XXXAction extends BaseAction 

//一个action多个操作

//根据method参数 ,利用反射调用相应的execute方法,如execute_query


//可采用传统mvc框架配置也可零配置,在jsp页面里直接调用action

 一个用户增删改查的例子,所有操作都写在一个action里


下面是BaseAction和UserAction的代码及注释


//------------------
//---------------------------

BaseAction.java

package com.zjuee.action;
import java.util.*;
import com.zjuee.mvc.*;
import com.zjuee.*;


public class BaseAction extends Action{


String action = null;
String actionClassName = null;
long start = 0;
long end = 0;
Map ajf_system_request_map = null;
long diff=0;


 //看到这些方法的名字就晓得是怎么回事了,
 //分别是前置,后置,异常处理器

 //与webwork类似,action来一个new一个,没有线程安全问题
 //放心大胆使用成员变量

   public String preHandler()throws Exception{
           /*
              LogUtil.info("tiger",StringUtil.getNowTime());
              action = AjfUtil.getAction(request);
              actionClassName = this.getClass().getName();
              LogUtil.info("action="+action+",method="+method);
              LogUtil.info(actionClassName+",pre handler,"+StringUtil.getNowTime());
               */
       ajf_system_request_map = JspUtil.getRequestModel(request);
       start=StringUtil.getNowMs();
       
              return null;
       }

        public String postHandler()throws Exception{
            
            /*

            LogUtil.info(actionClassName+",post handler,"+StringUtil.getNowTime());
            LogUtil.debug(actionClassName+",post handler,"+StringUtil.getNowTime());
            LogUtil.warn(actionClassName+",post handler,"+StringUtil.getNowTime());
                    */   
            end=StringUtil.getNowMs();
            diff=end-start;
            LogUtil.info(diff+","+JspUtil.getUrl(request)+","+ajf_system_request_map);
                        
                        return null;
       }

      public void exceptionHandler(Exception e)throws Exception{

          LogUtil.error(actionClassName+",exception handler,"+e+","+StringUtil.getNowTime());
                            return;
       }

}

//------------------------
//----------------------------UserAction.java

package com.zjuee.action;

import com.zjuee.mvc.*;
import com.zjuee.*;
import java.util.*;

// power magic action ,from struts,webwork and spring mvc

[1] [2] [3] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航