资源描述
物流管理系统详细设计说明书
116
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
OA协同办公系统详细设计说明书
编写: XXX
日期: -11-01
审核:
日期:
批准:
日期:
受控状态:
是
发布版次: 1.0
日期: -11-01
编号:
变更记录
日期
版本
变更说明
作者
-11-01
1.0
初始版本
王振国
签字确认
系统模块
对应章节
对应部门
负责人签字
1 引言
1.1 编写目的
本说明书目的在于明确说明系统各功能的实现方式, 指导开发员进行编码。
主要为本公司以几份承包方的阅读者, 如设计人员、 开发人员等。有时能够包括客户方的阅读者, 如: 业务人员、 系统管理人员等。
1.2 背景:
待开发软件系统的名称: OA协同办公系统
此软件系统任务提出者: 中软国际培训中心
此软件系统任务开发者: 中软国际蜗牛项目小组
此软件系统任务用户: 暂无
1.3 基线
OA协同办公系统业务分析报告 v1.0
OA协同办公系统需求分析说明书 v1.0
OA协同办公系统概要设计说明书 v1.0
OA协同办公系统详细设计说明书 v1.0
1.4 特殊名词定义
缩写、 术语
解 释
DAO
数据访问对象
SD
系统设计, System Design
CURD
创立(Create)、 读取(Read)更新(Update)和删除(Delete)
1.5 参考资料
OA协同办公系统业务分析报告 v1.0
OA协同办公系统需求分析说明书 v1.0
OA协同办公系统概要设计说明书 v1.0
Java开发规范
2 模块命名规则
包名
命名规则
vo
值对象, 其中存放的是每个JavaBean, 其中JavaBean的命名是和数据库中的表名称是一一对应的。
dbc
一个有意义的名字+dbc其中的类是来操纵数据库的关闭和打开的
例子: DatabaseConnection.java
Action
模块名+Action:是用来给servlet命名的
例子: LoginAction.java
form
模块名+ActionForm: 是用来给servlet命名的
例子: LoginActionForm.java
dao
I+有意义的名字+DAO, 因为dao包是用来定义接口的, 在接口的命名中, 在最前面是要加上一个字母”I”的。
包中定义的每一个接口的抽象方法, 都是用来让Impl类和Proxy类来实现的。
例子: IUserDAO.java
Impl
有意义的名字+Impl: 这是用来实现具体的增、 删、 改、 查的操作的真实实现类, 不负责数据库的关闭, 且直接不会被servlet调用。
例子: UserBeanImpl.java
Proxy
代理类: 一个有意义的名字+Proxy: 这是用用来实现真实的实现类的, 它为实现类实例化, 调用实现类的方法, 是实现类的孪生兄弟, 她负责数据库的关闭工作。
例子: UserDaoproxy.java
Factory
工厂类: 一个有意义的名字+Factory。这个类是用来调用dao接口的。而dao接口经过其子类Proxy实例化。
例子: UserFactory.java
3 模块汇总
3.1 模块汇总表
总公司:
系统管理
模块名称
功能简述
后台用户管理
用户的CURD
权限分配
角色权限的CURD
车辆管理
模块名称
功能简述
车辆管理
对车辆信息进行增删改查
班次管理
模块名称
功能简述
班次设置
对班次信息的CURD
处理加急班次
对来自配送点的加急班次申请进行处理
线路管理
模块名称
功能简述
基本线路管理
对基本路线的CURD
运输线路管理
对运输线路的CURD
配送点管理
模块名称
功能简述
配送点基本信息管理
对配送点和现有对应班次的CURD
审查配送费方案
审查各个配送点提交的配送费计算方案
费用管理
模块名称
功能简述
运费计算方案管理
设置或修改以公斤或者体积为标准的运费方案
利润分配方案管理
调整总公司和各个的配送点收益分配比率
收益统计管理
统计总公司以及各个配送点的收益情况
分公司:
订单管理
模块名称
功能简述
订单管理
对订单的CURD
订单审核
对网上下单以及本地下单进行审核
库存订单查询
对库存订单进行查询, 方便交接单生成
订单确认
对货物配送的订单进行确认等相关操作
交接单管理
模块名称
功能简述
交接单管理
对交接单的CURD
紧急订单的查询
对紧急订单或者待发订单进行查询, 方便交接单生成
班次查询及加急班次设置
查询班次, 绑定交接单, 申请加急班次, 处理紧急订单
异常订单管理
模块名称
功能简述
异常订单登记
登记异常订单的相关信息, 方便后期处理
异常订单查询
查询异常订单的处理情况
本地信息设置
模块名称
功能简述
配送价格设置
对配送价格进行设置并进行申报
设置中转线路
对中转线路进行设置, 提供查询功能, 给出中转选择意见
财务管理
模块名称
功能简述
财务统计
统计一段时间的收益, 方便后期申报
财务汇报
定时向总公司申报财务
系统管理
模块名称
功能简述
后台用户管理
对本地后台用户信息的CURD
注册顾客管理
对网上注册顾客信息的CURD
权限管理
对所有系统用户的权限以及角色的分配
公司前台
注册管理
模块名称
功能简述
顾客管理
提供注册、 登陆功能, 方便顾客网上下单
查询管理
模块名称
功能简述
查询运费价格
向顾客提供运费查询功能, 是顾客对费用有预先的了解
查询订单进度
向顾客提供订单查询功能, 方便顾客查询进度以及个人订单历史记录
3.2 系统架构设计
3.2.1 系统架构基本功能实现
1. 代码包结构及关系如图例所示。
包结构及关系( 图例1)
代码共分成六个包:
base包专门用来存放连接数据库的类
contrl包存放action类即各种业务跳转的控制类
service 包存放服务类文件
dao 包存放数据持久化类
util包存放一些帮助类文件
vo 存放数据封装类
3.3 系统模块功能详细设计
3.3.1 订单管理模块功能实现
订单管理模块详细类图:
订单管理模块时序图:
时序图展示内容说明:
1, OrderManager经过JSP页面进行CURD操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交订单查询请求。
3, OrderService类经过DBConnection类建立和数据库的连接。
4, OrderServlet调用OrderService类的queryOrder()函数进行查询。
5, OrderService类调用OrderDAO类的quryOrder()函数完成查询。
6, OrderDAO类经过OrderVO类获得Order类的数据封装。
7, OrderDAO类调用PageHelp完成分页请求。
8, OrderDAO类将PageHelp对象返回给OrderService类。
9, OrderService类将PageHelp对象返回给OrderServlet类。
10, OrderServlet调用disPatch()函数, 将response返回给JSP页面。
11, JSP页面经过post方式和控制器Servlet交互, 提交订单添加请求。
12, OrderService类经过DBConnection类建立和数据库的连接。
13, OrderServlet调用OrderService类的addOrder()函数进行添加。
14, OrderService类调用OrderDAO类的addOrder()函数完成添加。
15, OrderDAO类经过OrderVO类获得Order类的数据封装。
16, OrderDAO类将Interger值( 代表添加成功与否的判断条件) 返回给OrderService类。
17, OrderService类将Interger值( 代表添加成功与否的判断条件) 返回给OrderServlet类。
18, OrderServlet调用disPatch()函数, 将response返回给JSP页面。
19, JSP页面经过post方式和控制器Servlet交互, 提交订单删除请求。
20, OrderService类经过DBConnection类建立和数据库的连接。
21, OrderServlet调用OrderService类的delOrder()函数进行删除。
22, OrderService类调用OrderDAO类的delOrder()函数完成删除。
23, OrderDAO类经过OrderVO类获得Order类的数据封装。
24, OrderDAO类将Interger值( 代表删除成功与否的判断条件) 返回给OrderService类。
25, OrderService类将Interger值( 代表删除成功与否的判断条件) 返回给OrderServlet类。
26, OrderServlet调用disPatch()函数, 将response返回给JSP页面。
附加说明: 本时序图中并没有画出详细类图中的updateOrder()、 querystoreOrder()、 queryconfirmOrder()这三个功能, 因其具体流程和上面描述的过程基本一致。updateOrder( ) 功能的流程能够复用addOrder( ) 功能的基本流程; querystoreOrder()、 queryconfirmOrder()功能的流程都能够复用queryOrder( ) 功能的流程。
3.3.2 会员管理模块功能实现
会员管理模块详细类图:
会员管理模块时序图:
时序图展示内容说明:
1, User经过JSP页面进行CURD操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交登录请求。
3, MemberService类经过DBConnection类建立和数据库的连接。
4, MemberServlet调用MemberService类的loginValidate()函数进行登录验证。
5, MemberService类调用MemberDAO类的loginValidate ()函数完成登录验证。
6, MemberDAO类经过MemberVO类获得Member类的数据封装。
7, MemberDAO类将Interger值( 代表登录成功与否的判断条件) 返回给MemberService类。
8, MemberService类将Interger值( 代表登录成功与否的判断条件) 返回给MemberServlet类。
9, MemberServlet调用disPatch()函数, 将response返回给JSP页面。
10, JSP页面经过post方式和控制器Servlet交互, 提交费用查询请求。
11, MemberService类经过DBConnection类建立和数据库的连接。
12, MemberServlet调用MemberService类的queryCost()函数进行登录验证。
13, MemberService类调用MemberDAO类的queryCost ()函数完成登录验证。
14, MemberDAO类经过MemberVO类获得Member类的数据封装。
15, MemberDAO类经过CitylistVO类获得Citylist类的数据封装。
16, MemberDAO类经过CityListVO类获得Citylist类的数据封装。
17, MemberDAO类将Double值( 代表费用总计) 返回给MemberService类。
18, MemberService类将Double值( 代表费用总计) 返回给MemberServlet类。
19, MemberServlet调用disPatch()函数, 将response返回给JSP页面。
附加说明: 本时序图并没有画出regMember( ) 、 queryorderState()这两个功能, 因其具体流程和Order类的时序图的某些功能基本的流程类似: regMember()功能的具体流程能够复用Order类的addOrder()功能的具体流程; queryorderState()功能的具体流程能够复用Order类的queryOrder( ) 功能的具体流程。
3.3.3 交接单管理功能实现
交接单管理模块类图:
交接单管理模块时序图:
a)创立交接单
时序图展示内容说明:
1, User经过JSP页面进行Create操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交订单添加请求。
3, JoinServlet调用JoinService类的joinCreate()函数进行添加。
4, JoinService类调用JoinDAO类的joinCreate()函数完成添加。
5, JoinDAO类经过JoinVO类获得Join类的数据封装。
6, JoinDAO类将Interger值( 代表添加成功与否的判断条件) 返回给JoinService类。
7, 添加交接单后要建立交接单与订单的联系并更新班次, JoinService调用OrderbyjoinDAO类的obInsert()完成添加交接单与订单联系。
8, OrderbyjoinDAO类经过OrderbyjoinVO类获得Orderbyjoin类的数据封装。
9, OrderbyjoinDAO类将Interger值( 代表添加成功与否的判断条件) 返回给JoinService类。
10, 进行班次信息的更新, JoinService调用ClassDAO类的classUpdate()完成班次信息的更新。
11, ClassDAO类经过ClassVO类获得Class类的数据封装。
12, ClassDAO类将Interger值( 代表添加成功与否的判断条件) 返回给JoinService类。
13, 进行订单信息的更新, JoinService调用OrderDAO类的orderUpdate()完成订单状态信息的更新。
14, OrderDAO类经过OrderVO类获得Order类的数据封装。
15, OrderDAO类将Interger值( 代表添加成功与否的判断条件) 返回给JoinService类。
16, OrderService类将Interger值( 代表添加成功与否的判断条件) 返回给OrderServlet类。
17, JoinServlet调用disPatch()函数, 将response返回给JSP页面。
b)确认交接单
时序图展示内容说明:
1, User经过JSP页面进行交接单确认操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交交接单确认请求。
3, JoinServlet调用JoinService类的joinUpdate()函数进行更新。
4, JoinService类调用JoinDAO类的joinUpdate()函数完成对交接单的更新。
5, JoinDAO类经过JoinVO类获得Join类的数据封装。
6, JoinDAO类将Interger值( 代表更新成功与否的判断条件) 返回给JoinService类。
7, 进行班次信息的更新, JoinService调用ClassDAO类的classUpdate()完成班次信息的更新。
8, ClassDAO类经过ClassVO类获得Class类的数据封装。
9, ClassDAO类将Interger值( 代表更新成功与否的判断条件) 返回给JoinService类。
10, 进行订单信息的更新, JoinService调用OrderDAO类的orderUpdate()完成订单状态信息的更新。
11, OrderDAO类经过OrderVO类获得Order类的数据封装。
12, OrderDAO类将Interger值( 代表更新成功与否的判断条件) 返回给JoinService类。
13, JoinService类将Interger值( 代表更新成功与否的判断条件) 返回给JoinServlet类。
14, JoinServlet调用disPatch()函数, 将response返回给JSP页面。
c)修改交接单
时序图展示内容说明:
1, User经过JSP页面进行交接单修改操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交交接单修改请求。
3, JoinServlet调用JoinService类的joinModify()函数进行更新。
4, JoinService类调用OrderbyjoinDAO类的ojInsert()函数完成对交接单添加订单的更新。
5, OrderbyjoinDAO类经过OrderbyjoinVO类获得Orderbyjoin类的数据封装。
6, OrderbyjoinDAO类将Interger值( 代表更新成功与否的判断条件) 返回给JoinService类。
7, JoinService类调用OrderbyjoinDAO类的ojDelete()函数完成对交接单删除订单订单的更新。
8, OrderbyjoinDAO类将Interger值( 代表更新成功与否的判断条件) 返回给JoinService类。
9, JoinService类将Interger值( 代表更新成功与否的判断条件) 返回给JoinServlet类。
10, JoinServlet调用disPatch()函数, 将response返回给JSP页面。
d)查询交接单
时序图展示内容说明:
1, User经过JSP页面进行交接单查询操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交订单查询请求。
3, JoinServlet调用JoinService类的joinQuery()函数进行查询。
4, JoinService类调用JoinDAO类的joinQuery()函数完成查询。
5, JoinDAO类经过JoinVO类获得Join类的数据封装。
6, JoinDAO类调用PageHelp完成分页请求。
7, JoinVO将PageHelp对象返回给JoinDAO类。
8, JoinDAO类将PageHelp对象返回给JoinService类。
9, JoinService类将PageHelp对象返回给JoinServlet类。
10, JoinServlet调用disPatch()函数, 将response返回给JSP页面。
附加说明: 本时序图中并没有画出详细类图中的classQuery()、 transferQuery()、 orderQuery()这三个功能, 因其具体流程和上面描述的过程基本一致。以上三个功能的流程均可复用查询交接单流程图。
3.3.4 系统管理功能实现
1、 用户管理模块类图:
2、 角色管理模块类图:
3、 权限管理模块类图:
4、 用户管理模块类图:
系统管理模块时序图:
1、 用户查询:
时序图展示内容说明:
1, User经过JSP页面进行交接单查询操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交用户查询请求。
3, UserServlet调用UserService类的UserQuery()函数进行查询。
4, UserService类调用UserDAO类的UserQuery()函数完成查询。
5, UserDAO类经过UserVO类获得User类的数据封装。
6, UserDAO类调用PageHelp完成分页请求。
7, UserDAO类将PageHelp对象返回给UserService类。
8, UserService类将PageHelp对象返回给UserServlet类。
9, UserServlet调用disPatch()函数, 将response返回给JSP页面。
2、 用户删除:
时序图展示内容说明:
1, User经过JSP页面进行交接单查询操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交用户删除请求。
3, UserServlet调用UserService类的userDelete()函数进行删除。
4, UserService类调用UserDAO类的userDelete()函数完成删除。
5, UserDAO类将Interger值( 代表删除成功与否的判断条件) 返回给UserService类。
6, UserService类将Interger值( 代表删除成功与否的判断条件) 返回给UserServlet类。
7, UserServlet调用disPatch()函数, 将response返回给JSP页面。
3、 用户信息修改:
时序图展示内容说明:
1, User经过JSP页面进行用户修改操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交用户修改请求。
3, UserServlet调用UserService类的userUpdate()函数进行更新。
4, UserService类调用UserDAO类的userUpdatet()函数完成对用户信息的更新。
5, UserDAO类经过UserVO类获得User类的数据封装。
6, UserDAO类将Interger值( 代表更新成功与否的判断条件) 返回给UserService类。
7, UserService类将Interger值( 代表更新成功与否的判断条件) 返回给UserServlet类。
8, UserServlet调用Dispatch()函数, 将response返回给JSP页面。
4、 创立角色
时序图展示内容说明:
1, User经过JSP页面进行Create操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交角色添加请求。
3, RoleServlet调用RoleService类的RoleInsert()函数进行添加。
4, RoleService类调用RoleDAO类的RoleInsert()函数完成添加。
5, RoleDAO类经过RoleVO类获得Role类的数据封装。
6, RoleDAO类将roleVO( 代表添加的角色) 返回给RoleService类。
7, RoleService调用PermissDAO类的permissInsert()完成添加角色与权限联系。
8, PermissDAO类经过PermissVO类获得PermissRole类的数据封装。
9, PsermissDAO类将Interger值( 代表添加成功与否的判断条件) 返回给RoleService类。
10, RoleService类将Interger值( 代表添加成功与否的判断条件) 返回给RoleServlet类。
11, RoleServlet调用disPatch()函数, 将response返回给JSP页面。
5、 修改角色信息
时序图展示内容说明:
1, User经过JSP页面进行修改操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交角色修改请求。
3, RoleServlet调用RoleService类的RoleModify()函数进行添加。
4, RoleService类调用RoleDAO类的RoleUpdate()函数完成角色基本信息的更新。
5, RoleDAO类经过RoleVO类获得Role类的数据封装。
6, RoleDAO类将roleVO( 代表更新的角色) 返回给RoleService类。
7, RoleService类调用PermissDAO类的permissInsert()函数完成角色对应权限的更新。
8, PermissDAO类经过PermissVO类获得Permiss类的数据封装。
9, PermissDAO类将Integer( 代表更新的成功与否) 返回给RoleService类。
10, RoleService类调用PermissDAO类的permissDelete()函数完成角色修改中删除的对应权限的更新。
11, RoleDAO类将Integer( 代表更新的成功与否) 返回给RoleService类。
12, RoleService类将Interger值( 代表更新成功与否的判断条件) 返回给RoleServlet类。
13, RoleServlet调用disPatch()函数, 将response返回给JSP页面。
6、 角色信息查询:
时序图展示内容说明:
1, User经过JSP页面进行角色查询操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交角色查询请求。
3, RoleServlet调用RoleService类的RoleQuery()函数进行查询。
4, RoleService类调用RoleDAO类的RoleQuery()函数完成查询。
5, RoleDAO类经过RoleVO类获得Role类的数据封装。
6, RoleDAO类将roleVO( 代表查询的角色) 返回给RoleService类。
7, RoleService类调用PermissDAO类的permissQuery()函数完成角色对应权限的查询。
8, PermissDAO类经过PermissVO类获得Permiss类的数据封装。
9, PermissDAO类调用PageHelp完成分页请求
10, PermissDAO类将PageHelp对象返回给RoleService类。
11, RoleService类将PageHelp对象返回给RoleServlet类。
12, RoleServlet调用disPatch()函数, 将response返回给JSP页面。
7、 创立权限
时序图展示内容说明:
1, User经过JSP页面进行Create操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交权限添加请求。
3, PowerServlet调用PowerService类的PowerInsert()函数进行添加。
4, PowerService类调用PowerDAO类的PowerInsert()函数完成添加。
5, PowerDAO类经过PowerVO类获得Power类的数据封装。
6, PowerDAO类将Interger值( 代表添加成功与否的判断条件) 返回给PowerService类。
7, PowerService类将Interger值( 代表添加成功与否的判断条件) 返回给PowerServlet类。
8, PowerServlet调用disPatch()函数, 将response返回给JSP页面。
8、 权限信息查询:
时序图展示内容说明:
1, User经过JSP页面进行权限查询操作。
2, JSP页面经过post方式和控制器Servlet交互, 提交权限查询请求。
3, PowerServlet调用PowerService类的PowerQuery()函数进行查询。
4, PowerService类调用PowerDAO类的PowerQuery()函数完成查询。
5, PowerDAO类经过PowerVO类获得Power类的数据封装。
6, PowerDAO类调用PageHelp完成分页请求
7, PowerDAO类将PageHelp对象返回给PowerService类。
8, PowerService类将PageHelp对象返回给PowerServlet类。
9, PowerServlet调用disPatch()函数, 将response返回给JSP页面。
附加说明: 本时序图中并没有画出详细类图中的roleDelete()、 userInsert()、 powerDelete()、 powerUpdate()以及顾客的CRUD功能, 因其具体流程和上面描述的过程基本一致。roleDelete()、 powerDelete()、 userInsert()、 powerUpdate()这四个模块与powerInsert()的流程一致, 顾客管理的CRUD功能与权限管理的CRUD的流程一致。
3.3.5 异常订单登记查询模块功能实现
异常查询模块类图:
异常登记查询模块时序图:
时序图展示内容叙述:
1. 用户进入CURD页面, 输入查询条件并提交
2. 查询参数经过form以POST形式传递给后台服务器上的ExcOrderServlet
3. ExcOrderServlet根据获取的参数condition=”query”判断出查询命令, 生成查询SQL语句, 调用ExcOrderService的查询方法query(sql,currentpage),此处的currentpage=1或者由javascript得到的currentpage值
4. ExcOrderService 获取和建立数据库的连接, 调用ExcOrderDAO的方法query(conn,sql,currentpage)
5. ExcOrderDAO依据传递的sql语句和currentpage生成新的符合显示条件的SQL语句, 查询数据库, 将查询结果集( 待显示的) 封装进由ExcOrderDAO对象组成的LIST中。
6. LIST 传递给Pagehelp 对象
7. ExcOrderDAO返回装载了LIST的pagehelp对象
8. pagehelp对象返回到ExcOrderService中
9. pagehelp对象返回到ExcOrderServlet中
10. pagehelp对象返回到ExcOrder.jsp显示页面
11. ExcOrderServlet获取参数condition="add",跳转到ExcOrder_add.jsp页面
12. 获取用户输入的添加信息, 生成sql添加语句, 调用add(sql)
13. 获取Connection对象conn, 调用ExcOrderDAO中的add(conn,sql),添加到数据库中
14. ExcOrderServlet获取参数condition="delete",获取用户输入的删除信息, 生成sql添加语句, 调用add(sql)
15. 获取Connection对象conn, 调用ExcOrderDAO中的add(conn,sql),从数据库中删除相关信息
16. ExcOrderServlet获取参数condition="update",获取用户输入的更新信息, 生成sql添加语句, 调用add(sql)
17. 获取Connection对象conn, 调用ExcOrderDAO中的add(conn,sql),更新数据库中信息
3.3.6 配送费设置和申报模块功能实现
配送费设置和申报类图:
配送费设置和申报模块时序图:
时序图展示内容叙述:
11, Client 输入配送费方案
12, 提交配送费方案到ChargeServlet中
13, ChargeServlet获取配送费信息, 生成sql语句, 调用ChargeService的chargeSet(sql)
14, ChargeService获取数据库连接对象conn,调用ChargeDAO中的chargeSet( conn,sql)
15, ChargeDAO生成配送费方案对象
16, 用户获取配送费方案信息
17, 跳转到ChargeServlet中
18, 获取申报参数, 提交
19, 调用ChargeService的chargeApply()
20, 调用ChargeDAO的chargeApply(),修改申报状态
3.3.7 中转订单线路选择模块功能实现
中转订单线路类图:
中转订单线路时序图:
时序图说明:
18, 用户进入中转订单线路设置首页
19, 用户进行查询操作
20, queryServlet获取参数"all", 调用queryall( sql)
21, queryService 调用DBConnection的getConn(), 建立数据库连接, 生成Connection对象conn,调用queryall(conn,sql)
22, queryDAO查询数据库, 将要展示的内容封装进LIST对象, 传递给PAGEHELP
23, queryServlet获取参数"false", 调用queryall( sql)
24, queryService 调用DBConnection的getConn(), 建立数据库连接, 生成Connection对象conn,调用queryfasle(conn,sql)
25, queryDAO查询数据库, 将要展示的内容封装进LIST对象, 传递给PAGEHELP
26, queryServlet获取参数"true", 调用queryall( sql)
27, queryService 调用DBConnection的getConn(), 建立数据库连接, 生成Connection对象conn,调用querytrue(conn,sql)
28, queryDAO查询数据库, 将要展示的内容封装进LIST对象, 传递给PAGEHELP
29, 返回pagehelp对象到queryDAO
30, 返回pagehelp对象到queryService
31, 返回pagehelp对象到queryServlet
32, 返回pagehelp对象到query.jsp中, 向用户显示查询内容
33, queryServlet获取参数"select"
34, 跳转到generate.jsp页面进行操作
35, 用户选择系统自动生成路线, 调用
展开阅读全文