




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 论 文 目 录基于B/S 架构Struts + Hibernate的网上购物系统1本网上购物系统采用模块化程序设计方法,使用Oracle10g进行数据库开发。本系统充分利用了jsp+sruts+javabean+jstl+hibernate+orcle+ajax的简单组合,采用MVC设计模式,实现会员信息管理、订单管理、产品信息管理、购物车管理的功能。11网站工作模式11.1MVC模式示意图:21.2 Struts框架31.3 Struts的工作流程32数据库设计43用户模块设计63.1网上图书用例图63.2系统主要功能模块63.2.1用户登录模块63.2.2用户注册模块73.2.3 购物车管理模块73.2.4 订单管理模块84管理员模块设计104.1用户信息管理模块104.2所有订单管理模块114.3图书管理模块115数据验证125.1获得xmlhttp对象:135.2对用户注册模块的用户名作验证:146小结15全文共 16 页 7581 字基于B/S 架构Struts + Hibernate的网上购物系统摘要 本文按照一般网站开发的步骤,从网站的开发环境(网站开发环境的配置)开始,进而介绍网站工作模式的选择以及所选模式的优势、网站的模块设计、数据库设计,以及如何用ajax编程来验证数据四个方面来逐步介绍网上购物系统的设计过程,最终使系统得以实现。关键词 工作模式 数据库设计 模块设计数据验证 引言本网上购物系统的设计源于国内对网上购物需求的增加,由于地理位置购物不方便,购物管理不规范,管理工作效率低的现状开发设计而成。网上购物系统是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上交易的一种新型的商业运营模式。网上购物将传统的购物流程数字化,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,极大地方便了消费者,使购物过程变得轻松、快捷、方便,从而大大提高了效率。本网上购物系统采用模块化程序设计方法,使用Oracle10g进行数据库开发。本系统充分利用了jsp+sruts+javabean+jstl+hibernate+orcle+ajax的简单组合,采用MVC设计模式,实现会员信息管理、订单管理、产品信息管理、购物车管理的功能。目前大多数网上购物系统是基于两层体系结构来进行设计和开发的。传统的两层体系结构面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。针对目前网上购书系统所面临的问题,基于J2EE框架,采用框架技术及设计模式,设计开发了一个网上购书系统。系统具有高可靠性、可扩展性和重用性的特点。1网站工作模式目前在应用开发领域中,主要分成两大编程体系,一种是基于浏览器的B/S结构,另一种是C/S结构。在此网上购物系统中,我们采用了B/S模式。基于这种模式,用户可以在任意一台装有操作系统、网络协议软件、浏览器的机器上登录我们的网站。本系统充分利用过滤器和监听器的功能,解决系统乱码问题,和在用户修改购物信息或者注册个人信息时系统对所在地区选项框中的数据进行初始化,其中监听器使用了SessionListener,ContextListener。其中SessionListener实现了具体功能为当用户关闭浏览器时,系统会自动删除session中的购物车,当用户访问页面时即session形成时,监听器会自动监听,系统会自动创建购物车以便后来在用户购物车管理模块中当用户购买商品时,放入到此购物车中。其中ContextListener使用的目的是,监听整个应用系统的启动和关闭,当web应用系统启动时,便会开启监听,此时系统会把数据库中的商品放到整个应用当中。当web应用系统关闭时,便会执行相应的操作,具有很强的灵活性。本网站应用的是网站常用的MVC模式,即模型层,控制层和视图层(显示层),其中模型层即是与数据库进行数据交互的javabena,视图层是采用jsp来显示页面来与客户交互。这里最重要的也就是逻辑控制层。本系统采用的是struts框架(用action,form作控制)。下面介绍一下该框架。1.1MVC模式示意图:1.2 Struts框架一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。因此在网上购物系统的设计中,采用了基于Struts的结构框架设计,采用Struts的结构框架设计的优点有:(1) 可扩展性:Struts框架是基于JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型,其业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求。(2) 标准性和开放性:Struts 框架基于Java语言,而且其基本组件具有统一的标准,在许多运行标准的容器中都工作的非常好,具备优异的可移植性(3) 安全性和高效性Struts具有完善的安全管理机制,Java语言也是当前最安全的语言。采用Struts能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。1.3 Struts的工作流程Struts框架的工作流程图:2数据库设计基于系统的功能分析,其ER图为:根据ER图,可得出数据库的表单如下:(1) customer表:存放用户信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(20)用户名PasswordVarchar2(20)用户密码ZipVarchar2(20)邮编AddressVarchar2(20)地址TelephoneVarchar2(20)电话EmailVarchar2 (30)电子邮件(2) book表:存放图书信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(100)书名PriceNumber(8,2)价格(3) orderline表:存放订单明细信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NumNumber数量OrderidNumberFK订单的流水记录号BookidNumberFK图书的流水记录号(4) orderform表:存放订单信息字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号CostNumber(8,2)订单总额OrderdateDate下单时间CustomeridNumberFK顾客的记录流水号 根据表单可以画出实体间的关系模型图:3用户模块设计3.1网上图书用例图3.2系统主要功能模块3.2.1用户登录模块在登录界面上用户可以输入用户名和密码进行登录,如果用户名和密码都正确,进入网上购物系统,如果不正确,提示用户失败登录的原因,并重新登录。如果用户不存在还可以点击用户注册进入用户注册界面。3.2.2用户注册模块注册要求用户输入一些个人信息,当注册成功后,用户可以使用用户名和密码进入购物系统,登陆后才能进行购物等活动。为了能成功进入购物系统并能够实现图书商品的购买,需要对每一个进入系统的用户进行合法性的验证,通过对用户注册实现对用户登录、查询、购书等功能的唯一性的验证。其中用户名的注册采用ajax的验证技术,该技术是局部刷新的,所以不需要对整个页面的刷新,这样减少了系统的运行时间。对密码等其他信息采用javascript的焦点函数进行格式的验证,格式验证失败返回错误信息提示用户。3.2.3 购物车管理模块跟踪用户选择的图书,用户在购物车中保存浏览书店时所选中的图书。每个用户都有自己临时的一个购物车。可以查看购物车,可以向购物车中添加选中的图书,修改选中的图书的数量,删除已选择的图书或者清空购物车重新选购图书。3.2.4 订单管理模块当确认订单后,系统根据购物车中的数据生成一个订单和一个订单明细表,并将购书信息加入到相应顾客的订单信息中,并清空购物车中的所有书。其中在订单确认提交前可以对用户信息进行修改,这样方便了实际中客户信息变化的情况,增加了系统的功能,提高了系统的通用性。订单确认成功后出现现实界面,可以供用户查看订单信息,以便再进行购买。系统返回到图书列表界面时,用户可以查询自己的订单情况,进而查询订单明细。4管理员模块设计4.1用户信息管理模块用户管理模块主要是实现查询所有用户的信息,管理员可以通过两种方式进行查询:通过用户的序列号查询和通过用户名进行查询。4.2所有订单管理模块所有订单管理模块主要是查询所有订单的信息,以及对相应的订单查看订单明细。另外,系统还实现了对所查纪录进行分页显示的功能。4.3图书管理模块图书管理模块主要实现的是查看所有图书信息,并且可以对图书库进入录入和删除,另外,此模块也实现了对所查纪录进行分页显示的功能。5数据验证ajax它是Asynchronous JavaScript and XML的英文缩写,翻译过来就是“异步的JavaScript and XML”。可以说它是一种技术,更可以说它是一种技巧。其实它是多种技术的综合,包括JavaScript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest。其中:使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用JavaScript绑定和处理所有数据。本系统采用ajax的异步请求局部刷新的技术进行用户注册信息数据(用户名唯一性)的验证。主要代码如下:5.1获得xmlhttp对象:/步骤1 定义一个xmlHttpRequest变量var xmlHttp;/步骤2 创建XMLHttpRequest对象实例function createXMLHttpRequest() if(window.XMLHttpRequest) /Mozilla 浏览器 xmlHttp = new XMLHttpRequest(); else if(window.ActiveXObject) /IE浏览器 try xmlHttp = new ActiveXObject(Msxml2.XMLHTTP); catch(e) try xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); catch(e) if(xmlHttp = null) alert(不能创建XMLHttpRequest对象); return false; function sendAsynchronRequest(url,parameter,callback)createXMLHttpRequest();if(parameter = null) /步骤3 设置属性onreadystatechange(事件处理器)xmlHttp.onreadystatechange = callback; /步骤4 调用open()和send()xmlHttp.open(GET,url,true);/发出一个异步请求(后台发出)xmlHttp.send(null);elsexmlHttp.onreadystatechange = callback;xmlHttp.open(POST,url,true);xmlHttp.setRequestHeader(Content-Type,application/x-www-form-urlencoded;);/parameter处于请求体中xmlHttp.send(parameter);5.2对用户注册模块的用户名作验证:/查看昵称是否存在function check(url)/获得注册的昵称var name=document.getElementById(user).value;if(name.length0)var parameter=name=+name;sendAsynchronRequest(url,parameter,getTextCallBack);elsealert(请输入昵称.);function getTextCallBack()if(xmlHttp.readyState=4)if(xmlHttp.status=200)var xmlDoc=xmlHttp.responseXML;var message=xmlDoc.getElementsByTagName(message)0;var error=xmlDoc.getElementsByTagName(error)0;var textDiv =document.getElementById(textDiv);var userName=document.getElementById(user);if(message!=null)textDiv.innerHTML=+message.firstChild.nodeValue+;if(error!=null)userName.value=;userName.focus();textDiv.innerHTML=+error.firstChild.nodeValue+;elsealert(请求的页面有异常);6小结 网站的设计编写是一个辛苦而漫长的过程,此网站我编写了两遍,第一次是用javabean+servlet来做的,当时jsp页面上有很多的java脚本。后来随着学习的深入,我有用struts重新改写了系统的架构,其中控制层用了struts框架,显示页面上把脚本都改成了标签去显示。从最初的构想开始,到中间的代码编写、完善再到最后的调试、完成,应该说这一路走下来,其中的甘苦真的只有自己来体会,当购物车出现它的雏形时,我的兴奋溢于言表。学ajax也没有多长时间也就有3,4天,所以技术还不是很完善,这个购物车完全用struts框架来实现,并使用了新的技术jstl标签库以及EL表达式的功能,使得jsp页面上没有java代码,这个网站还有很多很多的不足,有待我去改善通过这次毕业设计我觉得自己从中学到了很多。首先我对JavaWeb开发有了更深层的理解,对网站的架构以及架构模式的理解更深了一步。代码的编写让我能更为熟练的运用,不但熟练,更可以在编写时的过程中灵活的运用。我的热情并不会因为毕业设计的结束而结束,我会继续完善它,因为它是我的财富,对我来说学是无止境的,今后我会给自己一个不同的定位,使自己在今后的工作中、学习中不断提高,不断前进。参考文献1 孙卫琴编著.精通Struts:基于MVC的java web设计与开发.电子工业出版社.2 孙卫琴编著.精通Hibernate:java对象持久化技术详解.电子工业出版社.3 布雷恩.赖特编著.JSP数据库编程指南.北京电子希望出版社.4 孙卫琴编著.Tomcat与java Web开发技术详解.电子工业出版社.5 阎宏编著.java与模式.电子工业出版社.6hibernate和jsf框架的使用,上海杰普科技有限公司20057oracle数据库开发与设计 上海杰普科技有限公司出版 20058j2ee web开发技巧全集 上海杰普科技有限公司出版 2005Based on B / S Struts + Hibernate framework of the online shopping system Computer and Information Engineering Collage 2003.7 Wang Haizhu 200418336 Lecturer instructor Zhimin Associate ProfessorAbstract: accordance with the general development of the site steps from the site of the development environment (web site development and the environment configuration), further work on site selection and mode of the advantages of the selected model, the sites modular design, database design, and how to use ajax series Way to verify the data four to gradually introduce online shopping system design process, the end, the system can be realized. Keywords: mode database; design modular; design data; validation袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南市2025-2026学年七年级上学期语文月考测试试卷
- 集安市2025-2026学年九年级下学期语文期末测试试卷
- 高速雨天安全知识培训课件
- 电解铝安全环保知识培训课件
- 电视产品知识培训总结课件
- 高速公路施工培训课件
- 农贸市场、集市管理服务项目投标方案
- qc考试试题及答案格力
- 电缆相关知识培训课件
- 电线生产专业知识培训课件
- 2024年湖南省公安厅招聘警务辅助人员笔试真题
- 健康体检基本项目专家共识2022
- 艾梅乙反歧视培训课件
- 高中化学人教版高考大单元一 第一章 第4讲 氧化还原反应的概念和规律
- 敢于提问班会课件
- 作物生产与经营管理专业教学标准(高等职业教育专科)2025修订
- 煤气中毒急救方法与处理流程
- 第11课《岳阳楼记》课件-统编版语文九年级上册
- 人行金库管理制度
- 供应链管理 课件 6-供应链生产管理
- 妇幼保健院(2025-2025年)十五五发展规划
评论
0/150
提交评论