ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:121.80KB ,
资源ID:355975      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-355975.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVAWEB课程设计报告.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

JAVAWEB课程设计报告.docx

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

16、 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 by the server to the client*throws ServletException if an error occurred*throws lOException if an error occurred*/pu

17、blic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, lOException (doPost(request, response);/*The doPost method of the servlet. *This method is called when a form has its tag value method equals to post.*param request the request send by the client to th

18、e server*param response the response send by the server to the client*throws ServletException if an error occurred* throws lOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, lOException (String name = request.getPar

19、ameter(usernamen);String passwd = request.getParameter(password);CustomerDao dao = new CustomerDaoJDBCImpl();if(dao.hasMatchUser(name, passwd) (HttpSession session = request.getSession();Customer customer = dao.findCustomerByName(name);session.setAttribute(user, customer);RequestDispatcherdispatcher

20、reques t.getReques tDispatcher( index, j sp);dispatcher.forward(request, response); else (request.setAttribute(message”,”用户名或密码不正确,RequestDispatcherdispatcherrequest.getRequestDispatcher( login.j spn);dispatcher.forward(request, response);)jsp页面: 用户登录 用户名:inputtype=textname= usernamevalue=/ 密码: 在这里是

21、将客户登陆时传递过来的用户名、密码取出来调用 Dbbean的方法来查找是否存在该用户,查找的时候先从管理员表里查找,然后 再查找客户表,最后返回一个包含客户信息的Customer类事例,两表都不存在 信息则返回一个简单的错误页面 用户登录界面:登录成功会跳转到首页密码或用户名错误时会提示相应的提示信息:用户名或密码不正确登陆前截图:登陆后截图:登陆后可将书籍加入到购物车加入购物车的Action对应的方法:public class ShoppingCartltem (private Goods goods;private int quantity; 购买数量public ShoppingCart

22、Item(Goods goods) ( this, goods = goods;this.quantity = 1;public ShoppingCartItem(Goods goods, int quantity) ( this.goods = goods;this.quantity = quantity;/*添加一个商品*/public void incrementQuantity() ( this.quantity + ;)/*减少一个商品*/public void decrementQuantiry() (if(this.quantity 0) (this.quantity ;)pub

23、lic Goods getGoods() ( return goods;public void setGoods(Goods book) ( this.goods = book;)public int getQuantity() (return quantity;public void setQuantity(int quantity) ( this.quantity = quantity;该方法主要是接受页面传来的参数,封装成一个Item,然后从session中取出购物车(没有则实例一个),然后查看该车中是否包含该Item,有则Item的 quantity 的数量+1;没有则将Item放入购

24、物车中,最后后将购物车放回session中。返回到请求页面。 此处为了防止刷新重复提交请求用到了 Struts的Token机制(详细见代码)。截图(登陆后单击加入购物车连接,最后跳转到购物车页面):查看购物车中现有书籍、对购物车中的书籍数量进行修改、清空购物车查看:此处代码省略,此处是从页面中循环遍历购物车,然后将Item还原为book在页面上打印出来即可。修改:修改对应的Action方法:public class ShoppingCart (private HashMap carts = new HashMap();*向购物车中增加一本书*parambook需要添加的图书*/public v

25、oid add(Goods goods) (int id = goods .getGood_id();if(carts .containsKey(id) (购物车中存在该条目,取出条目然后数量加1ShoppingCartltem item = carts.get(id);item.incrementQuantity(); else (购物车中不存在该条目,创建个新的条目ShoppingCartltem item = new ShoppingCartltem(goods);carts.put(id, item);)/*获取购物车的所有条目*return购物车条目列表*/public List g

26、etltems() (Listitems=newArrayList(carts.values();return items;/*从购物车中删除一个条目*param bookid要删除图书的ID*/public void deleteltem(int goodsld) (if(carts .containsKey(goodsld) (carts.remove(goodsld);) -)/*修改图书的购买数量*param bookid要修改的图书Id*param number新的购买数量*/public void setQuantity(int goodsld, int number) (if(c

27、arts .containsKey(goodsld) ( ShoppingCartltem item = carts .get(goodsld); item. setQuantity (number);/*清空购物车*/public void clear() (carts.clear();/*获取购物车中商品总价* return购物车中商品总价格*/public float getPayment() (float total = 0;Listitems=newArrayList(carts.values(); for(ShoppingCartItem item : items) ( total += item.getGoods().getPrice() * item.getQuantityO;jjjreturn total; 此处修改数量时提交请求是提交的车中所有的Item的数目(数组的形式), 在该方法中取出数组,便利购物车中所有Item,将Item的数量修改,返回到客 户端。运行截图(以上为例,修

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2