Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500158
  • 博文数量: 1496
  • 博客积分: 79800
  • 博客等级: 大将
  • 技术积分: 9940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:22
文章分类

全部博文(1496)

文章存档

2011年(1)

2008年(1495)

我的朋友

分类:

2008-09-09 17:09:54

    没有在网上公开发部,与大家一同学习,分享,交流经验,旧版本的代码可以参考我以前的文章,设计思路上差不多。新版本中加入了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]   

【责编:Peng】

--------------------next---------------------

阅读(153) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~