1、海贼王专柜绪论系统开发背景本项目作为JAVA WEB应用开发技术课程的实习项目提出,希望通过海 贼王专柜电子商务网站的设计开发,提高使用JSP开发J2EE架构的电子商务 网站(B/S结构)的能力;了解软件文档的相关标准和编写原则,训练并掌握软 件各类文档写作的技巧。海贼王专柜是一种高质量,更快捷,更方便的购物方式。海贼王专柜不仅可用 于有关海贼王商品的在线销售,也有各种商品的在线销售。而且网站式的商店对 商品的管理更加合理化,信息化。网上商店系统现状网上商店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上商店 的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥。为了保护传 统商
2、店的投资,网上商店解决方案应切合传统商店实际的需求和发展的趋向,使 投入回报和管理效益最大化,传统商店在实施上网方案的之前,必须对一系列问 题进行科学的论证,如网上商店的需求分析、网上商店总体规划、网上商店系统 的功能和实施方案、网上商店的传播与推广、运行网上商店系统的软件和硬件配 置、网上商店的管理系统和管理方法等等。主要工作用户分为注册于非注册用户,区别是能否对商品进行购买。管理员可执行三种基本操作:对用户的查看、冻结;对商品的上传、修改;对订 单的查看、执行、删除操作。本项目主要实现了三个大的基本功能:即1:浏览用户的对商品的浏览、搜索、登录。2:用户对商品的浏览购买、及修改。系统需求分
3、析系统功能需求客户功能需求通过商品名对库中的商品进行查找,显示到客户端对用户的登陆操作登陆后可将商品加入到购物车查看购物车中现有商品、对购物车中的商品数量进行修改、清空购物车管理员功能需求管理员是管理需求的应用人员,分配一个账号为此,可实现对前端信息的管理和 后台信息的修改等,管理需求如下:商品信息的维护:增加、修改、删除操作用户信息的管理:对用户的信息的查看、修改、删除等操作订单管理:查看当前订单的状态、删除订单等操作开发平台集成开发环境:Myeclipse 7.5简单而言,Myeclipse是Eclipse的一个插件,也是一款功能强大的J2EE集成开 发环境,支持代码编写、配置、测试以及除
4、错,而且6.0版本以后都不需要安装Eclipse 了,7.5以后连服务器都不需配置安装了,它是功能丰富的JavaEE集成 开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, HibernateoWeb应用服务器:Tomcat6.0Tomcat 6.0是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是 很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来 说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对 HTML页面的访问请求。实际上Tomcat部分是Apa
5、che服务器的扩展,但它是 独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进 程单独运行的。数据库服务器:Sql Server 2005SQL Server 2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提 供了企业级的数据管理。SQL Server 2005数据库引擎为关系型数据和结构化数 据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性 能的数据应用程序。此外SQL Server 2005结合了分析、报表、集成和通知功能。 系统设计与实现系统整体设计浏览者主要是对信息的显示、收集的工作,其中没有逻辑处理代码。分为两类:用户
6、和管理员,用户是指前端用户可见部分,注册用户和游客均可浏 览,管理员部分仅是管理员账号可操作部分。此部分为jsp页面,页面大体设计如下:(图)这是页面的总体框架设计情况,共划分了四个主区域:header,导航 栏,main,bottomHeader包含页面头的部信息,各页面基本相同:headerl,header2;其中导航栏部分又包含八部分;Main包含部分比较多,因为导航栏的改变而改变;bottom 包含页脚部分:bottom,bottom 1 ,bottom2。这样划分页面可以做到页面的复用性,提高了页面的灵活性。每个页面只需编写 不同的小部分便可,减少了代码的重复、冗余。控制器中的For
7、m其实也是一种bean类,为Action服务,其中包含了相对应的 Action中配置的页面的可收集内容,负责由ActionServlet将该页面请求中内容剥 离放入Action配置的对应的Form中,然后作为参数传递给Action,所以Form 中并没有实际的处理方法,只有一些对应页面的属性,和对应属性的getter/setter 方法,如果有必要验证页面传来的参数是否合法可以重写validate ()方法来实 现对页面中属性的验证,验证不通过责由核心控制器返回到请求页面至客户端, 由于本项目由Validator框架来实现的验证所以没有实现validate方法。只有对应的 getter/set
8、ter 方法。Action部分:此部分为中间组件,只是起到了调用逻辑的功能,接受到ActionServlet传来的参数后调用相应的Bean完成相应的逻辑。具体分类表如下:Action逻辑方法usershopping接受到提交订单页面传来的请求,处理相应的逻辑,将客户的订单按 提交得到的数据保存到库中并与对应的用户名关中。LoginCheckServle接受到客户登陆请求,并取出密码用户名,到库中校验,返回相应的 操作(已注册予以登陆并取出相应的订单放入用户对象中、已注册但 被冻结不予以登陆资格、未注册密码错误)LogoutServlet销毁当前客户对应的Session,返回到主面PieceSe
9、archServlet该Action接受搜索引擎传递过来的请求,然后调用逻辑bean,将参数 作为关键字在库中查找相对应的符合结果,将所有的结果返回到页面 上进行显示。CustomerDaoJDBCImpl通过与数据库连接,查询用户信息GoodsCatalogDaoJDBC Impl通过与数据库连接,查询获取商品分类信息GoodsDaoJDB Clmpl通过与数据库连接,查询获取商品分类信息searchCatalog该Action接受请求后,调用逻辑bean查询该图书分类的所有有关书籍 信息,返回到页面上GoodsCatalog获取商品详细信息ShoppingCartltemBuy:接受客户传
10、来的请求,该请求中包含客户要放入购物车的书籍 的id,然后搜索购物车中是否有该书籍,有则将书籍的数目+ 1,没有 则实例一个item,数量为1,放入车中。Modify:提供了修改书籍数量的操作,按对应的item的id重新对车中 的书籍数量遍历修改ShoppingCartClear:将购物车清空,并将session中信息清空Delete:接受用户要删除的书籍id,然后从车中将书籍删除各功能的实现搜索:通过的书名对库中的书籍进行查找,显示到客户端以下为搜索对应的Action代码:public class PieceSearchServlet extends HttpServlet (public
11、void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, lOException (doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, lOException (request.setCharacterEncoding(utf-8);response.setCont
12、entType(ntext/html;charset=utf-8);String name = request.getParameter(goods);GoodsDao dao = new GoodsDaoJDBCImpl();List goods = dao. findGoodsB yName(name);request.setAttributeCresults, goods);RequestDispatcherdispatcher=request.getRequestDispatcher(piecesearch.jspn);dispatcher.forward(request, respo
13、nse);)本Action主要是从页面请求中取出书籍的检索关键字,然后交给后台 dao.findGoodsByName(name)方法来查找,该方法返回一个linkedlist类型,其中包 含了根据关键字检索到数目所有结果.然后返回到提交请求的页面.截图:对用户的登陆、注册操作用户的登陆部分:(代码)LoginCheckServlet 的方法: package cn.sdcet.onepiece.web;import java.io.IOException;import java.io.Print Writer;import javax.servlet.RequestDispatcher;im
14、port javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import cn.sdcet.onepiece.dao.CustomerDao;import cn.sdcet.onepiece.dao.jdbc.CustomerDaoJDBCImpl;im
15、port cn.sdcet.onepiece.domain.Customer;public class LoginCheckServlet extends HttpServlet (/*Constructor of the object.*/public LoginCheckServlet() (super();/*Destruction of the servlet. */public void destroy() (super.destroy(); / Just puts destroy string in log/ Put your code here/*The doGet method of the servlet. *This method is called when a form has its tag value method equals to get.*param request the request send by the client to the server*param response the response send b
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1