图书管理系统开发文档 联系客服

发布时间 : 星期一 文章图书管理系统开发文档更新完毕开始阅读fe969609b80d6c85ec3a87c24028915f804d8491

系统设计说明书

图书管理系统设计

1. 环境搭建

1.1. 功能需求分析 1.1.1. 前台管理

? 用户模块

? 注册

? register.jsp发出请求

参数:表单数据

? UserServlet #method:registe()

将表单数据封装到Userbean中 生成uid(uuid方式)、code(激活码) 输入数据合法性校验:

? 非法则向页面发送错误信息

? 输入数据合法性校验通过,调用UserService的registe()

方法

注册:

? 若抛出异常,则保存错误信息并发送到register.jsp页面 ? 若注册成功

? 发送激活邮件

? 跳转到msg.jsp页面

? UserService #method:register()

获取Servlet传送过来的表单数据 服务校验:

? 调用UserDao的findUserByName()方法校验用户名是否

已被注册,若已被注册,抛出异常“用户名已被注册”

? 调用UserDao的findUserByName()方法校验邮箱是否已

被使用,若已被使用,抛出异常“邮箱已被使用”

? 服务校验通过,调用UserDao的add()方法将新用户数据

数据添加到数据库中

? UserDao

#method:findUserByName()按用户名查询用户方法

系统设计说明书

#method:findUserByEmail()按用户邮箱查询用户方法 #method:addUser()添加用户到数据库中

? 激活

? 激活邮件中点击激活链接,发出请求

参数:激活码code

? UserServlet: #method active()

获取激活码,调用UserService 的active方法

若抛出异常,保存错误信息并转发到用于显示的msg.jsp页面 若成功,保存成功信息到用于显示的msg.jsp页面 ? UserService:#method active()

调用UserDao findUserByCode方法查询数据库,

若查询到结果为null ,抛出异常UserException,”激活码已失效,请重新获取”

若查询到结果不为空,调用UserDao updateState方法将用户状态设置为已激活

? UserDao :#method findUserByCode

按用户的激活码查询用户 #method updateState

将新用户的状态设置为已激活

? 登录

? login.jsp发送请求

参数:用户名,用户密码 ? UserServlet:#method login()

获取用户名,用户密码,封装到User对象。然后调用UserService的login方法

若抛出异常,保存错误信息并转发到用于显示的msg.jsp页面 若成功,跳转到主页面。 ? UserService:#method login()

调用UserDao 的 findUserByName()方法查询数据库

若查询到结果为null,抛出异常UserException”用户名不存在!” 若查询结果不为null,则比较用户输入的密码与数据库中的是否相同

若不同,抛出异常UserException“您输入的密码错误!请重新输入!”

若相同,则查看该用户状态是否为已激活状态, 若不是,抛出异常UserException“当前账户未激活,请激活后再登录!”

若是,跳转到主页面

? UserDao:#method findUserByUserName()按用户名查询用户

? 退出

? 点击退出按钮发送请求 ? UserServlet:#method quit()

销毁session并跳转到主页面

系统设计说明书

? 分类模块

? 查看所有分类

? main.jsp 发送请求

? CategoryServlet:#method findAllCategory()

调用CategoryService的方法完成查询

将查询的结果保存到request中并转发到left.jsp中 ? CategoryService:#method findAllCategory()

调用CategoryDao的方法完成查询并将查询结果返回 ? CategoryDao:#method findAllCategory()

查询所有图书分类

? 图书模块

? 查看所有图书

? left.jsp发送请求

? BookServlet:#method findAllCategory()

调用BookService中的方法完成查询

并将查询的结果保存到request中并转发到list.jsp中 ? BookService :#method findAllCategory()

调用BookDao中的方法完成查询并将结果返回 ? BookServlet:#method findAllCategory()

查询所有图书

? 按照某一分类查询图书

? left.jsp发送请求

? BookServlet:#method findBooksPerCategory()

获取请求中传来的图书分类id参数 调用BookService中的方法完成查询

并将查询的结果保存到request中并转发到list.jsp中 ? BookService :#method findBooksPerCategory (String cid)

调用BookDao中的方法完成查询并将结果返回 ? BookServlet:#method BooksPerCategory (cid)

按照图书分类id查询该分类下所有图书

? 查询某一图书的详细信息

? list.jsp发送请求

? BookServlet:#method findDescribeForBook()

获取请求中传来的图书id参数

调用BookService中的方法完成查询

并将查询的结果保存到request中并转发到desc.jsp中 ? BookService :#method findDescribeForBook (String bid)

调用BookDao中的方法完成查询并将结果返回 ? BookServlet:#method BooksPerCategory (bid)

按照图书id查询该图书详细信息

系统设计说明书

? 购物车模块

? 添加商品条目

? desc.jsp发出请求

请求参数:图书id 图书数量count ? CartServlet:#method add()

获取session中登录用户的购物车对象

获取request中传来的用户购买的图书id和图书数量count 创建购物车商品条目对象cartItem

使用bid通过BookService获取图书信息并将图书信息添加到cartItem 将cartItem添加到用户购物车并跳转到list.jsp页面

? 在list.jsp中,获取session域中购物车商品数据并循环遍历显示

? 删除指定商品条目

? list.jsp发出请求

请求参数:图书bid

? CartServlet:#method delete(String bid)

获取session中登录用户的购物车对象

获取request中传来的用户需要删除的图书id 调用购物车对象的删除方法删除商品条目 跳转到list.jsp页面

? 清空所有商品条目

? list.jsp发出请求

? CartServlet:#method clearCart()

获取session中登录用户的购物车对象

调用购物车对象的清空方法清空购物车商品

? 我的购物车

? top.jsp发出请求,跳转到list.jsp页面

? 订单模块

? 生成订单

? list.jsp发出请求

? OrderServlet:#method addOrder()

创建订单对象order

获取session K中登录用户的购物车对象 将购物车中的商品条目添加到订单order中 调用OrderService中的方法完成订单创建 ? OrderService:#method addOrder()

创建生成订单事务

调用OrderDao中的方法完成订单创建 提交事务

? OrderDao:#method addOrder()

将订单信息添加到orders表中

将订单条目信息添加到orderitem表中