计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

药品进销存储管理系统(3)

2013-07-27 01:07
导读:计模式,所以整个软件在架构被分成了三部分,也就是MVC中的三个表现层:模型层,控制层和视图层。下面分别就这三个表现层对系统结构进行说明。 首
计模式,所以整个软件在架构被分成了三部分,也就是MVC中的三个表现层:模型层,控制层和视图层。下面分别就这三个表现层对系统结构进行说明。

    首先是视图层。视图层简单的理解就是用户的操作界面和程序在处理完用户提交的请求之后返回给用户的结果显示界面。本系统的视图层主要是用JSP页面来实现的。JSP是JAVA的一个网络应用组件,它通过动态JSP代码和HTML语句的相互嵌套,经服务器编译之后在浏览器上显示处理结果[7][8]。本系统的JSP页面可分为两类:完整的JSP页面和功能单一的JSP代码段。完整的JSP页面基本上规划好了整个页面的显示格局,具有独立显示结果的功能;而功能单一的JSP代码段是为了保证代码的清晰性和可重用性而独立出来的只具有单一功能的代码段,它不能被独立显示出来,而只能通过在完整的JSP页面中使用JSP动作语句INCLUDE使之成为JSP页面的一个功能块[9]。本系统的JSP页面都放在webcontent文件夹下,   并且根据各自功能而命名,如日记修改JSP文件叫editDiary.jsp、分类编辑JSP文件叫editKind.jsp。

其次是控制层。由于主要使用Struts框架来实现MVC模式的设计,控制层主要是在webcontent下WEB-INF文件夹中的web.xml和struts-config.xml(见附录)来实现整个系统的跳转(具体内容见附录)。当然在这之前必须把struts的外部jar包放到web-inf下的lib文件夹中,这样在写java类时直接继承struts的相关类便可实现商业逻辑了。

再次是模型层。一个好的项目必然有一个好的软件结构,在建立JAVA类之前,根据项目不同的功能先建立各自的类包很关键,这样能使在开发的时候不会因为找不到相关的类而晕头转向[10]。本系统一共建立了6个包,分别是my.bean,my.dao,my.action,my.form,my.util,my.base。下面分别对各个包里面类的作用进行简单的介绍。

My.bean:主要是存放Javabean类,主要包括和数据库中数据表的字段相对应的属性和赋值取值方法。为数据操作对象对数据进行操作时提供盛放数据的容器。

My.dao:数据操作对象包。没个类中都对应相关数据表的所有数据增删查改操作方法。

My.action:严格来说这个包里的类应该属于控制层。和struts-config.xml文件联合作用。该包的类全部继承自struts包中的Action类。通过复写execute()方法来实现业务逻辑。

My.form:表单类,所有从页面提交的表单,通过struts-config.xml文件关联后都能和此包中的类进行自动匹配。本包中类的结果类似于bean,只不过所有属性都是和表单中的参数名对应的。在创建相应的赋值取值方法之外,如果表单需要验证的话,必须复写父类的validate()方法实现表单的验证。

My.util:实用工具类。辅助类包,主要放一些重复使用次数较多的类文件。如数据库连接类Conn。

My.base:基本类。里面存放和struts验证机制和国际化相关联的properties文件和用来解决页面显示乱码问题的过滤器CharacterEncodingFilter类文件。(struts-config.xml和web.xml文件见附录三)

系统需要的Mysql数据库驱动类和struts外部包放在WebContent目录下的WEB-INF中的lib文件夹下。

源程序的文件结构视图如图3-6。

图3-6 源程序的文件结构视图

  4 主要功能模块概述

  4.1 用户注册模块 4.1.1 流程分析

如果用户要使用为系统提供的日志功能,那么在使用之前必须先注册。注册方式很简单在首页登陆模块内点击进入注册页面。页面中的用户信息用户名和密码为必填项。若此两项信息未正确填写将返回到注册页面并且显示错误信息。执行入库操作之前先查询用户名是否已经存在,若已存在则返回注册页面显示错误提示。为保障系统的安全性,用户在注册成功之后,需等待员审批。在审批通过之后方能成为正式用户,使用该系统相关功能。用户注册过程活动图如图4-1。

图4-1 用户注册过程

涉及该模块文件分别为:register.jsp、 RegisterAction.java以及UserDAO.java。

4.1.2 文件设计

register.jsp文件:

按照下述内容设计register.jsp文件。

表单名:form1。

表单执行程序:register.jsp。

表单数据传输方法:post。

表单的要素如附录一表1所示。

在structs-config.xml中actionMappings中配置如下:

<action input="/register.jsp" name="RegisterForm" path="/register"

           type="my.action.RegisterAction" validate="true">

           <forward name="register.ok" path="/index.jsp"/>

           <forward name="register.error" path="/register.jsp"/>

       </action>

//带表单验证类的action,input参数为表单证错误返回的页面,name是接受页面参数的表单类,path为页面请求到服务器的路径,type为处理请求的action类的路径,forward为验证成功与否的转发路径。

RegisterAction.java代码如下:

package my.action;

public class RegisterAction extends Action {

   public ActionForward execute(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       UserBean user = new UserB

上一篇:浅论Word中替换命令的妙用 下一篇:没有了