科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道超级简单的mvc框架ajf1.2发布 1

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

??? 没有在网上公开发部,与大家一同学习,分享,交流经验,旧版本的代码可以参考我以前的文章,设计思路上差不多

作者:中国IT实验室 来源:中国IT实验室 2007年9月10日

关键字: 编程 java

  • 评论
  • 分享微博
  • 分享邮件

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

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章