PAF设计开发指南
目录
PAF设计开发指南    1
1.    简介    2
1.1    阅读对象    2
1.2    PAF是什么    2
1.3    PAF架构    2
1.4    PAF对JDK的要求    2
1.5    初探PAF    2
2.    PAF应用的整体结构    2
3.    快速快发demo    3
3.1    Web    4
3.1.1    创建Controller    4
3.1.2    配置l    4
3.1.3    配置Controller    5
3.1.4    Controller传值到action    5
3.1.5    Controller传值到jsp    5
3.2    Action    6
3.2.1    介绍Action    6
3.2.2    创建Action    6
3.2.3    配置Action    6
3.3    Service    7
3.3.1    介绍Services    7
3.3.2    创建Services    7
3.3.3    配置Services    7
3.4    Dao    7
3.4.1    介绍Dao    7
3.4.2    创建Dao    8
3.4.3    配置Dao    8
3.4.1    配置ibatis    8

1. 简介
阅读对象
该文档面向的对象为PAF应用的开发设计人员和项目经理。读者对PAF、JAVA、J2EE等应该有基本的概念。
PAF是什么
PAF定义了一系列流程,比如对如何处理HTTP请求、事务控制,以及一些通用功能,比如文件上传、数据校验、消息管理、日志功能等。
PAF的最终目标是为开发人员提供一个填空式的开发框架。让开发人员在PAF架构下,只需关注编写和具体业务逻辑相关的程序,而将业务无关的需求(非功能需求,non-functional requirement)交给PAF来完成。
PAF架构
PAF架构基本上和J2EE的n层架构相对应,它包括四个层次:核心层(core层)web层业务层(biz层)集成层(integration层),各层之间结构如图 21。
核心层是一个基础层,它提供其它各层都需要的功能,比如容器管理、日志、异常处理等。
Web层提供一个MVC框架,处理Web层的请求。
业务层处理具体的业务逻辑,提供Action、Service等组件。
集成层负责和外部资源交互,如外部系统,数据库。
PAF对JDK的要求
PAF要求使用JDK1.5以上。
初探PAF
PAF作为一个应用框架,和一般的应用系统(比如保全系统、理赔系统等)不同, PAF本身并不是一个可以独立运行的应用系统,因此要一览PAF的全貌,必须借助建立在PAF架构之上的应用系统。正如如果要一览JDK的全貌,一般需要通过建立在JDK之上的应用来实现。
2. PAF应用的整体结构
在进入PAF各层次之前,我们先介绍一下典型PAF应用的组织结构,包括开发目录布局、开发目录布局
myapp/ (应用系统开发根目录)
│  .classpath      (Eclipse工程文件)
│  .project        (Eclipse工程文件)
│  l        (Ant脚本)
└─src/            (源代码目录)
    ├─java/        (Java文件目录)
    │  └─com/
    ├─config/      (配置文件目录)
    │  ├─web/    (Web层配置文件)
    │  │      l          (J2EE标准Web描述文件)
│  │      (Controller基础配置文件)
│  │      (Controller应用配置文件)
│  │      l          (表现层模版配置文件)
│  │      config-web.properties
│  │      l
│  ├─core/    (Web层和业务层公用配置文件) 
│  │      common_message.properties
│  │      error_msg.properties
│  │      messages.properties
│  │      log4j.properties
    │  ├─biz/    (业务层配置文件)
│  │      l
│  │      l
│  │      config-app.properties
│  │      oscache.properties
│  │      l
│  │      l (ibatis配置文件)
│  │      l
│  └─sqlmap/    (Hibernate映射文件)
│  │      l
│  │      common-l
    │ 
│  ├─common/jsp定义
│  │
    ├─webroot/    (JSP、图片、Javascript、CSS等web层文件)
    │  │  index.jsp ...
    │└─config/
│  │  └─tlds/ (存放fmt、c、lwc等标签库tld文件,便于编辑时参考)
│      │  └─dtd
│      │  └─production-config
│      │  └─web-console
│      │  └─web-service
    ├─test/        (单元测试Java文件)
    │  └─com/
3. 快速快发demo
1、 新建一个工程,工程名为gzclaimflow
2、 在gzclaimflow工程下建立一个类,类名为CanceltaskController,并且继承MultiMethodController类,然后创建一个save的方法,参数列表为HttpServletRequestHttpServletResponse,返回类型是ModelAndView。这是web层的一部分
Web
创建Controller
Web层是服务端的入口,每个url都会映射到web层中Controller类中的一个方法。具体配置在4.1.2
/**
    *
    * @param request http请求对象
    * @param response http响应对象
    * @return ModelAndView 数据模型和视图显示
    * @throws Exception
    */   
public ModelAndView list(HttpServletRequest request,HttpServletResponse response, CanceltaskDTO canceltaskDTO) throws Exception {
  ServiceRequest serviceRequest = new ServiceRequest();
serviceRequest.setParameter(“param”, canceltaskDTO);
//如果需要将controller的值传入到action,可以使用这种方法 详细请参考4.1.4
serviceRequest.setRequestedActionID(“action.canceltask.save”);
  //action.canceltask.save就是l中配置action类的beanid具体可参考4.2.3
        ServiceResponse serviceResponse =  dispatchService(serviceRequest);
        Map map = Model();
      return new ModelAndView(“saveLayout”, map);
//saveLayout是在l中配置的名称,map是需要传入到jsp页面的参数4.1.1.1有详细的解释

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。