2022年网上书店系统课程设计文档 .pdf
《2022年网上书店系统课程设计文档 .pdf》由会员分享,可在线阅读,更多相关《2022年网上书店系统课程设计文档 .pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网上书店系统设计文档李璐祎 06043123 1 网络编程基础课程设计文档网上书店系统姓名李璐祎学号06043123 班级060706 指导教师廖湖声名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 2 目录网络编程基础课程设计文档. 1网上书店系统 . 1一、功能需求. 3二、整体架构设计. 3三、具体实现与算法设计. 5四、网上书店系统全部实现代码. 10五、测试及结果. 26名
2、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 3 一、功能需求1、提供基于关键字的查询功能。2、提供购物车,保存选中的图书和数量。3、提供图书定单。4、支持反复查询、图书选择和定单浏览。5、提供浏览器界面。6、图书信息从JDBC 数据库中读取。7、购物车本次会话有效。二、整体架构设计1、架构思想:基于J2EE 体系结构(1)表示逻辑层:JSP (2)控制逻辑层:Servlet +
3、JavaBean + 会话 Bean (3)数据表示层:实体Bean 2、页面转移关系设计:查询页search.jsp购物车页cart.jsp图书目录页directoty.jsp模糊查询再次查询查看购物车再次查询继续选书定单页order.jsp结算3、实现技术(1)采用MVC 模式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 4 JSP 实现页面视图View Servlet 实现
4、控制Control EJB 实现业务模型Model (2)交互关系JSP 表单动作( form )提交给 CtrlServlet 控制Servlet 转发调用JSP 页面(3)数据传输Servlet 调用EJB 对象获得数据Servlet 通过session 参数传递给JSP 页面4、对象模型设计(1)界面对象:查询页search.jsp,图书目录页directory.jsp ,购物车页cart.jsp,定单页order.jsp (2)控制器: CtrlServlet 负责响应输入命令包括:模糊查询key、查看购物车cart、结算 order 、继续选书continue、再次查询search
5、(3)业务模型图书信息: BookBean 实体类的会话Bean 购物车信息: CartBean 会话 Bean 5、动态转移关系图search.jspdirectory.jspcart.jspBookStoreBeanCartBeanorder.jspCtrlServletkeycartsearchordercontinuesearchaddgetssetfindget名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 31 页 - - - - - - - - - 网上书店
6、系统设计文档李璐祎 06043123 5 三、具体实现与算法设计1、数据设计:(1)图书信息(数据库表、查询结果)书号 ISBN char24 主键书名 Title char64 作者 Author char32 出版社 Press char32 价格 Price double (2)购物车信息书号 ISBN char24 数量 Number integer (3)共享数据a.查询结果和选中的图书信息b.作为session参数在 NetBeans6.5 版本中建立内置的JDBC 数据库 BookStore,建立表 BookStore,输入的测试数据如下:2、EJB接口设计(1)Bookstor
7、eFacade 管理图书信息(封装数据库)search(String key):根据关键字从数据库中查找出图书信息记录(数组 );条件:书名、作者、出版社名中包含关键字;根据书号,找出图书信息记录具体算法如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 6 public ArrayList search(String key) List all = this.findAll()
8、; if(all.isEmpty() return null; ArrayList result=new ArrayList() ; for(Bookstore current : all) if(current.getTitle().toLowerCase().contains(key)|current.getAuthor().toLowerCase().contains(key)|current.getPress().toLowerCase().contains(key) result.add(current); return result; (2)CartBeanBean 管理购物车信息
9、(本次会话有效)add(String isbn, String title, double price ) 添加记录代码如下:private ArrayList record; public void add(String isbn, String title, double price) record.add(new Cart(isbn, title, price, 1); public ArrayList get() 获得记录数组实现代码如下:public ArrayList get() ArrayList result = new ArrayList(); for (Cart curre
10、nt : record) result.add(new Cart(current.getIsbn(), current.getTitle(), current.getPrice(), current.getNumber(); return result; set(String isbn, int number) 设置购买数量public void set(String isbn, int number) for (Cart current : record) if (current.getIsbn().equals(isbn) current.setNumber(number); 名师资料总结
11、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 7 3、控制器( CtrlServlet )的输入信息(1)来自查询页 search.jsp page=“ search” &key= 关键字(2)来自图书目录页directory.jsp page=“ directory ”(3)来自购物车页cart.jsp page=“ cart”(4)控制器( CtrlServlet)的实现代码packag
12、e bookstore; import BookStore.BookstoreFacadeRemote; import BookStore.CartBeanRemote; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.Ht
13、tpServletRequest; import javax.servlet.http.HttpServletResponse; /* * * author liluyi */ public class CtrlServlet extends HttpServlet EJB private CartBeanRemote cartBeanBean; EJB private BookstoreFacadeRemote bookstoreFacade; protected void processRequest(HttpServletRequest request, HttpServletRespo
14、nse response) throws ServletException, IOException response.setContentType(text/html;charset=UTF-8); PrintWriter out = response.getWriter(); request.setCharacterEncoding(UTF-8); try 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 31 页 - - - - - - - - - 网上书店系统设计文
15、档李璐祎 06043123 8 if (request.getParameter(page).equals(search) / 从search.jsp定 向 到directory.jsp String keyword = request.getParameter(key); request.getSession().setAttribute(query, keyword); request.getSession().setAttribute(directory, bookstoreFacade.search(keyword.toLowerCase(); response.sendRedirec
16、t(directory.jsp); if (request.getParameter(page).equals(directory) / 从directory.jsp定向到cart.jsp if (!cartBeanBean.initialed() cartBeanBean.create(); Enumeration names = request.getParameterNames(); while (names.hasMoreElements() String name = (String) names.nextElement(); if (!name.equals(page) & !na
17、me.equals(submit) if (!cartBeanBean.exist(request.getParameter(name) cartBeanBean.add(request.getParameter(name), bookstoreFacade.find(request.getParameter(name).getTitle(), bookstoreFacade.find(request.getParameter(name).getPrice(); request.getSession().setAttribute(cart, cartBeanBean.get(); respon
18、se.sendRedirect(cart.jsp); if (request.getParameter(page).equals(cart) /从 cart.jsp 定向到 order.jsp double sum = 0; Enumeration names = request.getParameterNames(); while (names.hasMoreElements() String name = (String) names.nextElement(); if (!name.equals(page) & !name.equals(submit) & !name.equals(ad
19、dress) cartBeanBean.set(name, Integer.parseInt(request.getParameter(name); sum += bookstoreFacade.find(name).getPrice() * Integer.parseInt(request.getParameter(name); request.getSession().setAttribute(cart, cartBeanBean.get(); request.getSession().setAttribute(fee, sum); request.getSession().setAttr
20、ibute(address, request.getParameter(address); response.sendRedirect(order.jsp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 9 finally out.close(); / /* * Handles the HTTP GET method. * param request servlet reque
21、st * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException processRequest(request, respon
22、se); /* * Handles the HTTP POST method. * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Override protected void doPost(HttpServletRequest request, HttpServletResponse respons
23、e) throws ServletException, IOException processRequest(request, response); /* * Returns a short description of the servlet. * return a String containing servlet description */ Override public String getServletInfo() return Short description; / 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
24、 名师精心整理 - - - - - - - 第 9 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 10 四、网上书店系统全部实现代码在 NetBeans6.5 中先建立数据库BookStore,并且输入测试数据。单击“文件 /新建项目 /Java EE/企业应用程序” , 输入项目名称BookStore,确定后会建立J2EE项目 BookStore。在 BookStore-war 节点单击右键,新建JSP文件。1、图书查询页 search.jsp 代码: 网上书店 -查询页 欢迎光临网上书店! 请输入您要查询的图书的关键字(书名、作者或出版
25、社) 2、图书目录页 directory.jsp代码: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 31 页 - - - - - - - - - 网上书店系统设计文档李璐祎 06043123 11 网上书店 -查询结果页 查询结果 % ArrayList result = (ArrayList) session.getAttribute(directory); if (result = null) % 抱歉,目前没有您需要的图书 符合查询关键字的图书如下 书名 作者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网上书店系统课程设计文档 2022 网上 书店 系统 课程设计 文档
限制150内