java+Oracal9i电子申请系统 第11页

Java电子申请系统

5章 应用程序设计

 

根据前一章节的分析,下面我们依照MVC模型开发过程逐步介绍系统的开发步骤。

5.1 配置文件

    Struts一个J2EE 框架,很容易和web 合起来。建立准的web 用程序后需要配置/WEB_ROOT/WEB-INF/classes/web.xmlStruts需要,还有,可以用相路径的方式指明Struts用程序的配置文件位置。如不置,认值为/WEB-INF/struts-config.xml文件定Struts用中的Action,ActionForm,插件,源引用等信息。config/sub1 以相路径的方式指明子用程序的配置文件位置。

5.1.1 web.xml

    1、 在配置文件中映射ActionServlet,ActionServlet用于接受所有访问者的求。在Struts用中,所有对应用程序的求,都会被WEB SERVER 定向到ActionServlet一控制、分配理,ActionServlet可以看作是Struts框架的核心,枢

    2、 配置servlet映射,通servlet映射可以将用户访问web用的展名映射到具体理的servlet

<!-- Standard Action Servlet Mapping -->

  <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

  </servlet-mapping>

    3、配置标签库标签库Struts 的一些,采用JSP 范中Tag-lib的方式供大家使用,正是因存在这么富的标签库,使得采用Struts开发这么方便,高效。

    最后,一个完整的web.xml文件请参照源代码。

5.1.2 struts-config.xml

    1、在配置文件中设置Data Sources Configuration数据源的配置参数由eGovUtil.conf配置文件提供

    2Action-mapping 映射

<action

    path="/StaffInfoListLoginAction"

    type="info.disclosure.sys.eg.action.StaffInfoListLoginAction"

    name="StaffInfoListLoginForm"

    validate="true"

    input="/jsp/K/staffInfoListLogin.jsp"

    scope="request">

    <forward name="norm" path="/jsp/K/staffInfoListLogin.jsp" />

    <forward name="next" path="/jsp/K/staffInfoListLoginConfirm.jsp" />

<forward name="decision" path="/jsp/K/staffInfoListLoginResult.jsp" />

</action>   

 最后,一个完整的struts-config.xml文件请参照源代码。

5.2 页面设计

    Struts结构中我们使用.jsp文件来进行页面设计,一般情况下,该文件包含

5.2.1页面代码文件

staffInfoListLogin.jsp

staffInfoListLoginConfirm.jsp

staffInfoListLoginResult.jsp

其中staffInfoListLogin.jsp中两个下拉的联动功能由下面的JS代码实现

5.2.1.1 dodo()方法代码

function dodo(){

    var index = document.forms[0].orgId.selectedIndex;

    var key = document.forms[0].win1.value;

    var str = document.forms[0].hiddenForm.value;

    var strV= document.forms[0].hiddenFormValue.value;

    var hidden="<%=request.getAttribute("hiddenOrgId")%>";

    var values = str.split(",");

    var values2=strV.split(",");

    document.forms[0].orgId.length = 1;

    document.forms[0].orgId.value = "";

    document.forms[0].orgId.text = "";

    for(var i=0; i<values.length; i++){

       var pos1 = values[i].indexOf(key + "_");

       var pos2 = values[i].indexOf("_");

       if(pos1 > -1){

       var len = document.forms[0].orgId.options.length;

       document.forms[0].orgId.options.length = len + 1;

    document.forms[0].orgId.options[len].value=values[i].substr(pos2 + 1);

    document.forms[0].orgId.options[len].text=values2[i].substr(pos2 + 1);

       }

    }

    if(index < document.forms[0].orgId.options.length){

       document.forms[0].orgId.selectedIndex = index;

    }else{

    document.forms[0].orgId.value="<%=request.getAttribute("hiddenOrgId")%>;

    }

}  

5.3 处理模块

5.3.1  Action处理代码文件StaffInfoListLoginAction.java

Action处理中主要对页面的请求进行处理,调用逻辑处理或者向FormBean存取值实现整个后台处理向页面返回信息。

1actionExecute()方法实现页面的跳转功能

2setFormValue()getSecondList()方法实现页面联动

3changeValue()方法实现给第二个页面设置初始值

4checkField()方法实现第一个页面输入值

5loginNewUser()方法实现往数据库中存值

5.3.2  FormBean设计StaffInfoListLoginForm.java

StaffInfoListLoginForm的主要功能就是为Action的操作提供与客户相映射的数据。在改后,StaffInfoListLoginForm的回写新的数据状并保持。

5.3.3  业务逻辑BEANStaffInfoListLoginLogic.java

    业务逻辑Bean中主要实现对数据库的操作和复杂的业务逻辑的处理。实现数据的录入、更新、删除。

registNewUser()方法实现将管理员输入的用户信息存到数据库中。

setUserAuthority()方法实现将管理员输入的用户权限信息存到数据库中

5.4 单体测试

     5.4.1  测试的分类

软件测试分为黑盒测试和白盒子测试,任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。下面就介绍一下这两中测试方法:

1)黑盒测试:软件测试员只需要知道软件要做什么即可-而无法看到盒子中的具体内容。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

① 是否有不正确或遗漏的功能?

② 在接口上,输入是否能正确的接受?能否输出正确的结果?

        是否有数据结构错误或外部信息(例如数据文件)访问错误?

        性能上是否能够满足要求?

        是否有初始化或终止性错误?

2)白盒测试:软件测试员可以访问程序员的代码,并且通过检查代码来协助测试-可以看到盒子里面。  

软件的白盒测试所谓的测试方案包括具体的测试目的,应该输入的测试数据和预期的结果。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。白盒测试主要分为两种测试

 << 上一页  [11] [12] [13] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有