




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JAVA的数码商品网上商城的设计与实现摘要 IAbstract II1绪论 11.1国内外对本课题的研究动态分析 1国内外研究动态 1本课题研究的意义和目标及方案概述 22开发工具与环境 32.1硬件环境 32.2软件坏境 3MyEclipse简介 32.4ApacheTomcat服务器 32.5MySQL数据库系统 42.6服务器配置 42.7配置WEB站点 52.8数据库配置 53系统总体设计 63.1需求分析 63.2必要性分析 73.3可行性分析 73.4技术分析 94系统总体功能设计 11系统总体功能结构图 11数据库结构设计 11利用JaBean技术连接数据库 13所有到的技术 165详细设计与实现 185.1前台部分 185.2后台部分 236系统测试与运行 277总结 29参考文献 30致谢 31摘要研究的是基于JAVA在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理等功能的电子商务网站。关键字:JSP;MYSQL;Tomcat;网上购物系统
AbstractTheresearchuseJAVAinadynamicnetworkofe-commercewebsitesstructure,whichisinWindowsXP,MYSQLfordatabasedevelopmentinplatform,Tomcatapplicationserverasanetworkinformationservices,useJSP(JavaServerPages)technologydevelopmentonlineshoppingsystem.Prospectsandthebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagement,personalinformationmanagement,messageboardmanagementfunctions;Backgroundinpartbymanagers,includingcommoditymanagement,processingorders,andotherfunctionslinks.Aftertheestablishmentofthewebsiteisadynamic,interactive,withcommodities,systemsmanagement,andotherfunctionsofthee-commercewebsiteusers.Keywords:JSP;MYSQL;Tomcat;Onlineshoppingsystem1绪论以计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。首先,目前国内很多大中城市的商场还是以售货员站柜台为主,这样给商场带来很多管理上的问题;其次,由于商场是人群集中的地区,这样为管理以及保安等方面也带来很多的不便。网上商城购物是经营活动在互联网上的一种具体表现形式,和传统的经营模式比较,网上商城具有客源面更广,运营成本更低,广告宣传效应更快,交易更方便快捷等等优势。我在西安百脑汇IT公司实习过一段时间,该公司主要是代理一些数码产品的销售,包括数码相机、、MP3、MP4,笔记本等产品,涉及的品牌有索尼、佳能、台电、昂达、苹果、华硕等国内外著名品牌。该公司为了扩大销售范围,目前已经开始在Internet建立了网上商城,取得了很大的成就,提高了该公司的市场竞争力。通过网上商城,该公司可以在第一时间让客户了解最新产品,为客户提供网上咨询购物,使得全国各地的得到便利,同时增加了该公司所代理的商品销售量。在该公司的这段时间,我认识到网上购物系统的巨大优势,它已经越来越受到人们的重视。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。法国网上购物发展速度也很快。据法国电子商务及远程销售联合会2008年1月24日公布的数据,2007年法国网上购物继续保持强劲上涨势头,网上购物总额大幅增加。数据显示,法国去年网上购物交易总额达161亿欧元,增长了35%,而2004年网上购物总额还只有57亿欧元。该联合会预计,到2010年,法国网上购物交易总额将达到314亿欧元。在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据中国互联网信息中心最近提供的《中国互联网络发展状况统计报告》调查显示,网上购物已经由以前的尝试性购买向日常的生活习惯发展,其中以书籍、计算机产品、音像制品及器材等为网上购物的主要对象,服装、体育用品、生活家居用品等消费额也开始大幅度提高。根据中国互联网信息中心最近提供的《中国互联网络发展状况统计报告》调查显示,网上购物已经由以前的尝试性购买向日常的生活习惯发展,其中以书籍、计算机产品、音像制品及器材等为网上购物的主要对象,服装、体育用品、生活家居用品等消费额也开始大幅度提高。但是,与强劲的网络购物需求相比,我国受到计算机软硬件基础比较薄弱,技术水平比较低下,系统开发人员十分紧缺等不利因素的影响,现有购物网站系统普遍存在着功能比较单一,维护比较复杂,通用性又不强等问题,有的购物网站甚至直接采用静态网页发布商品信息。所有这些,已经严重制约了我国互联网的发展。国外虽然有比较成熟的系统,但价格非常昂贵,动辄几十万上百万,而且还不一定适合我国国情,需要化大量的人力物力进行二次开发。如何设计开发出功能强大,费用低廉,通用性强,适合我国国情的购物网站系统,这将是我们急需解决的一个重要课题。1.3本课题研究的意义和目标及方案概述以计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。首先,目前国内很多大中城市的商场还是以售货员站柜台为主,这样给商场带来很多管理上的问题;其次,由于商场是人群集中的地区,这样为管理以及保安等方面也带来很多的不便。网上商城购物是经营活动在互联网上的一种具体表现形式,和传统的经营模式比较,网上商城具有客源面更广,运营成本更低,广告宣传效应更快,交易更方便快捷等等优势。本系统是基于JAVA在网络上架构一个动态的电子商务网站,它是在Windows2000下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单等功能。2开发工具与环境2.1硬件环境硬件环境(访问者):建议用户在力所能及的情况下采用高配置的硬件资源。硬件坏境(开发者):pentiumIV处理器,512M内存,80G硬盘空间。2.2软件坏境访问者:IE,Netscape等浏览器。开发者:操作系统:Windows2000/XP开发工具包:JDK1.6支持JAVA运行。服务器:ApacheTomcat2.3MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发,发布,以及应用程序服务器的整合方面极大的提高效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码,调试,测试和发布的功能,完整的支持HTML,Struts,JSF,CSS,JavaScript.SQL,Hibernate等[1]。在结构上,MyEclipse的特征可以分为7类:模型;开发工具;开发工具;4.应用程序服务器的连接器;项目部署服务;6.数据库服务;整合帮助。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写,配置,测试以及除错[2]。2.4ApacheTomcat服务器Tomcat服务器是一个免费的开发的源代码的Web应用服务器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat6支持最新的和规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的而且它还在不断的在改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的[3]。2.5MySQL数据库系统MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号公司被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[4]。MySQL具有如下特点:1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统.3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源。5优化的SQL查询算法,有效地提高查询速度。6.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。7.提供用于管理、检查、优化数据库操作的管理工具。8.可以处理拥有上千万条记录的大型数据库。2.6服务器配置第一步:从官方网站:,安装;第二步:JDK的环境配置;第三步:安装和配置完毕后,检验安装配置是否正确。第四步:安装MyEclipse.2.7配置WEB站点直接运行下载的apache-tomcat-.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。安装过程中需要选择一个文件夹作为Tomcat的安装目录。安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变量的添加方法相同,设置变量名为TOMCAT_HOME,变量值为C:\Tomcat。设置完毕后就可以运行Tomcat服务器了。Tomcat成功启动后,在浏览器中输入://localhost:8080/,如果出现欢迎界面,则说明Tomcat安装成功。2.8数据库配置安装的服务器,并连接数据库[5]。(1)下载安装(2)加载纯java的驱动程序登录MySql的官网下载驱动程序,将驱动程序复制到tomcat服务器所使用的JDK的\jre\lib\ext文件夹中,应用程序加载SQLServer驱动程序代码如下:try{ Class.forName("com.mysql.jdbc.Driver")}catch(Exceptionex){}
3系统总体设计3.1需求分析本网站系统是一个动态、交互式、具有商品提供、系统管理等功能的电子商务网站。经过分析本系统功能模块,有前台部分和后台部分1)前台部分由用户使用,包括用户注册,用户登录购物车管理,商品分类查询,等几个部分2)后台部分管理员登录,添加商品模块,查询修改商品模块,添加链接模块等模块。本系统中心对象为商品,根据以上的需求分析,系统流程主要功能用户注册购买商品,系统适用对象包括管理员和注册用户,因此包括两个基本流程图。—管理员:管理员登陆管理员登陆维护商品信息录入商品信息管理用户基本信息浏览商品图3.1系统功能图—管理员图—注册用户:用户注册用户注册用户登录查看商品购买商品管理个人信息图3.2系统功能图—注册用户图这两类在每一个操作模块都要实现自身的功能用,并且在整个流程中负责承上启下。下面根据系统功能图,分别描述系统要实现的功能。1.管理员登录:系统初始化商品管理员用户,这些管理员能够通过该入口进入并进行管理操作。2.管理员管理商品:首先要求能够添加商品,包括的信息有商品名、商品类别、商品简介、商品数量、商品定价等。管理员可以删除某个已经添加的商品。3.用户注册:注册用户信息包括登录名、密码、真实姓名、性别、、生日,银行卡号,电子邮箱。4.用户登录:系统注册用户使用自己注册的用户名登录系统,进行购物、管理购物车。5.用户管理购物车:uonghu可以随时查看自己已经选购的商品及购买的数量、金额。3.2必要性分析我国网上购物市场有巨大的潜力。首先,对于消费者来说:第一,可以在家“逛商店”,订货不受时间的限制;第二,获得较大量的商品信息,可以买到当地没有的商品;第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫;第四,从订货、买货到货物上门无需亲临现场,既省时又省力;第五,由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。其次,对于商家来说,由于网上销售没有库存压力、经营成本低、经营规模不受场地限制等,在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。3.3可行性分析社会性互联网形态下的外部大的市场环境日趋成熟,对传统产业的影响不可忽视。目前我国的大中城市,电脑和网络的应用已经非常普遍,互联网的迅速崛起已经催生出了年仅32岁身价几十亿的丁磊那样的中国首富,他的财富迅速超过了传统产业的一些巨头,包括一些“钢铁大王”和一些当年的红色资本家几代人奋斗的资本积累,丁磊之所以能够成为中国的首富,说明互联网产业的市场空间不容忽视,随着经济的发展和人们思想意识的逐渐开放,更多的人加入到买电脑上网的行列。网上购物人群迅速扩大,各种网络设施的完善,经济的持续发展及人们生活水平的提高,网上购物已逐渐成为人们习惯性的行为。经济性网络正在冲击着人们的传统消费习惯和思维、生活方式。越来越多的人们逐渐习惯于到网上查找信息,当他产生某种需求到网上查找相关产品和企业信息时就成了潜在的客户,当信息能满足他的需要的时候,他就成了客户。即使暂时不需要产品,等到他需要的时候,他就会再次到网上查看有关资料,成为顾客。假如企业、产品没有上网,而竞争对手的产品信息上了网,该客户只看到竞争对手的资料而没有你的信息,其结果必然造成你还没有来的及与竞争对手比质量、比价格、比服务就已经败下阵来了,只因为这名消费者根本就不知道你的存在,你就被排除在外了。技术性J2EE是各厂商共同发起的,并得到广泛认可的一个工业标准。它利用了Java2平台的技术优势,为企业提供系统整体解决方案的开发、部署和管理等相关问题的一套完整的体系结构。J2EE技术的基础就是Java2平台,J2EE不仅加强了该平台中的许多优点,如:“编写一次、到处运行的特性、存取数据库的JDBCAPI、CORBA技术的支持等之外,还提供了对业务逻辑封装的EJB(EnterpriseJavaBeans)组件技术、支持访问的Servlets和JSP,以及XML的全面支持,另外它还定义了关于事务管理的JTA和JTS接口,及保证消息传递的JMS服务等。J2EE架构中的核心就是EJB组件,通过EJB组件化技术将企业系统的实际业务逻辑进行封装。在平台的后端,J2EE标准定义了各种基础的服务,包括数据库访问支持的JDBC、事务管理的接口JTS、对象命名服务JNDI、消息传递的JMS服务以及访问其他组件的接口等。这些基础的服务将一个企业的已有系统有机地集成到J2EE平台中,然后通过前端的多种接入手段提供给最终用户。对于一个企业而言,如何构建自己的信息化平台,并且充分利用现有的IT资源,便是一个很重要的课题。而J2EE架构则为各级规模的企业提供了良好的整体解决方案[6]。JSP(JavaServerPages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。本章就对JSP及其相关技术进行简单的介绍。3.4技术分析Struts技术分析Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts有一组相互协作的类(组件)、Servlet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。Struts的流程如下:输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读文件找到action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法[7]。网页制作技术网页制作技术使用了HTML,CSS和javaScript三门语言,这三门语言在网页实际中扮演者各自的角色。1)HTML所扮演的角色:HTML是Internet上用于设计网页的主要语言,无论网页包括动态,多媒体,图形等各种复杂的元素,其基础架构多是HTML.2)CSS所扮演的角色:CSS就是CascadingStyleSheet,译为“层叠样式表”,简称样式表,它是一种制作网页的新技术。“样式”就是网页中文字大小,颜色,图片位置等格式,“叠层”的意思是,当在HTML中引用了无数个样式(CSS)时,当样式文件中样式发生冲突时,浏览器将依据层叠进行处理。CSS是目前唯一的网页页面排版样式标准。它能使浏览器都可以听从指令,知道以何种布局,格式显示各种元素及其内容。JavaScript所扮演的角色:JavaScript是一种基于对象的脚本语言,它的角色:用于开发Internet客户端的应用程序,它可以结合HTML语言,在HTML中可以直接写JavaScript代码。具有无比的动态性和可移植性。MVC设计模式MVC是Model-View-Controller的简称,即模型-视图-控制器[8]。MVC是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,MVC把应用程序分成3个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担当不同的任务。MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果要隔离模型、视图和控制器的构件,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器控制器接受用户请求调用模型响应用户请求选择视图显示响应结果视图显示模型状态接受数据更新请求向控制器发送请求模型处理业务逻辑响应状态查询通知视图业务状态更新图3.3模型-视图-控制器原理图利用session共享数据协议时无状态的,即信息无法通过协议本身进行传递。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器中建立连接时所处的Sessions是两个不同的Session。为了跟踪用户的操作状态,ASP应用Session对象。JSP使用了叫做Session的对象进行同样的功能[9]。Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.使用session功能,可以达到多个jsp程序从操作同一个javabean,那么这个javabean可以作为我们传统意义上的"全局变量池"。
4系统总体功能设计整个系统功能需要以下数据项:用户:用户id、用户名称、登录密码、注册名、用户真实姓名、性别、生日、邮箱、地址、身份证银行卡号等。商品:商品id、名称、价格、图片路径、类型、简要介绍、存储地址、上传人姓名、发布时间、是否推荐。管理员:管理员名称、管理员密码。根据各功能的分析,进行系统的总体模块划分。网上商城系统的主要功能模块图如图4.1所示:首页首页用户基本信息管理商品后台维护购物车管理用户注册用户登录用户注销添加商品删除商品购买商品商品结算图4.1网上商城系统功能模块图数据库在信息系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。数据库分析是整个网上商城系统开发过程中的一个重要环节,具体分两部分。1.概念模型分析,即E-R图分析。2.逻辑模型分析,即表和字段分析。网上商城系统实体包括用户实体,管理员实体,商品实体。对应的E-R图如4.2图:图4.2网上商城系统E-R图网上购物商城系统中的表包括:用户基本信息表(userinfo)、商品基本信息表(goodsinfo)、管理员信息表(admininfo)。表字段的详细设计分别如表4.1、表4.2、表4.3所示:表4.1用户基本信息表(userinfo)字段名类型长度是否为空是否为主键描述UseridInteger4否是用户IDRegnameVarchar50否否注册名RealnameVarchar50否否真实姓名PasswordVarchar50否否密码BirthdayDate50否否生日SexyChar2否否性别EmailVarchar50否否电子邮箱AddressVarchar100否否地址IdentifyidChar18否否身份证号BankidChar20否否银行卡号表4.2商品基本信息表(goodsinfo)字段名类型长度是否为空是否为主键描述GoodsidInteger4否是商品编号GoodsnameVarchar20否否商品名GoodspriceFloat4否否商品价格GoodsnumInteger4否否商品数量GoodsmakerVarchar100否否商品供应商GoodsdescVarchar200否否商品介绍表4.3管理员信息表(admininfo)字段名类型长度是否为空是否为主键描述AdminnameVarchar20否是管理员名AdminpswVarchar20否否管理员密码JavaBean是Java语言的一种规范,它主要是用来实现可重用的组建。在网上购物系统中,数据库的操作能够为所有的JSP页面服务,因而有关数据库的操作应该封闭到一个公共类中。系统公用类为整个系统提供服务,系统中的任何JSP功能页面都能够调用它们。数据库连接类的主要功能是提供对MySQL数据库的连接和数据操作[10]。这样不仅可以使系统的代码更加简洁,而且还可以提高安全性。当实现一个接口的时候首先需要连接数据库,如果每一个数据连接都要加载数据库酒会是代码过于多,因此我们数据库的操作封装到一个类中,具体如程序代码11-1所示:1.加载纯java的驱动程序登录MySql的官网下载驱动程序,将驱动程序复制到tomcat服务器所使用的JDK的\jre\lib\ext文件夹中,应用程序加载SQLServer驱动程序代码如下:try{ Class.forName("com.mysql.jdbc.Driver")}catch(Exceptionex){}2.和指定的数据库建立连接[8]具体代码如下:publicclassdbconn{ StringconnStr="jdbc:odbc:"; Connectionconn=null; Statementstmt=null; ResultSetrs=null; ResultSetMetaDatameta=null; @SuppressWarnings("unchecked") Hashtableht=null; @SuppressWarnings("unchecked") ArrayListal=null; publicdbconn() { try{ Class.forName("com.mysql.jdbc.Driver"); Stringurl="jdbc:mysql://localhost:3306/shop?user=root&password=root&useUnicode=true&characterEncoding=gb2312"; conn=DriverManager.getConnection(url); }catch(Exceptionex){ ex.printStackTrace(); } } System.out.println("查询出错"+ex.getMessage()); } returnal; } publicbooleanexecuteUpdate(Stringsql) { booleanflag=false; try { stmt=conn.createStatement(); stmt.executeUpdate(sql); System.out.println("更新成功"); flag=true; } catch(SQLExceptionup) { System.out.println("更新数据发生错误"); } returnflag; } publicvoiddestory() { try { if(rs!=null) { rs.close(); } if(stmt!=null) { stmt.close(); } if(conn!=null) { conn.close(); } rs=null; stmt=null; conn=null; } catch(Exceptionclose) { System.out.println("关闭时发生错误"); } }}struts开发Struts是JavaWeb框架,主要实现MVC设计模式的机制,减少程序开发的时间。在MVC设计模式中,Struts大致分为以下主要内容[11]。1.Struts标签库:处于视图层,用来辅助JSP页面代码。类似于JSTL标签库。对象:视图层与控制层的接口,可以看成是一个值对象提供getXXX(),setXXX()方法,在Struts中这个对象还提供了验证数据的方法。控制器组件:继承自Servlet.在控制层中控制页面的转向。并掉用模型层。3.Action对象:控制层与模型层之间的桥梁。在控制器与模型层进行交互时候,该对象被ActionServlet调用;在Action中可以调用业务逻辑层,并将页面返回给ActionServlet组件。框架可以和Hibernate框架进行整合。Struts标签库Struts拥有强大的标签库,根据这些标签可得内容,程序员在编写网页的时候,可以大大减少了代码的编程量,从而使网页中的代码更加简洁,Struts提供了5中标签库文件,他们分别为HTML标签,Bean标签,Logic标签,Nested标签,Tiles标签。标签Struts中HTML标签库中的大部分标签与普通的HTM元素相对应,并且他们实现的功能也相对应。HTML标签在JSP页面中引用的代码如下:<%@taglibprefix=“html”url=‘/WEB-INF/Struts-html.tld”%>该路径下的文件名由Struts提供。2.Bean标签Struts框架中的Bean标签可以访问已经存在于JSP范围内的JavaBean。Bean标签在JSP页面引用的代码为:<%@taglibprefix=“bean”url=“/WEB-INF/Struts-bean.tld”%>该路径下的文件名由Struts提供。3.Login标签Login标签可以实现特定耳朵判断条件,标签处理类通过对标签实现条件的判断,选择性的实现页面代码,从而实现同一JSP文件根据用户身份来显示不同的内容,Logic标签在JSP页面中引用的代码如下:<%@taglibprefix=“logic”url=“/WEB-INF/Struts-bean.tld”%>该路径下的文件名由Struts提供。配置StrutsStruts的核心在于它的Action,一般在 Action里面做对页面的逻辑跳转工作,例如,用户在网页中添加一条人员信息,如果添加成功,会看到包含所有人员信息列表,这就需要在Action里面接收到用户从网页中提交的数据,在把他们它们存在数据库中,然后返回到人员列表页面。Struts框架需要通过一个专门的配置文件来控制,它就是Struts-config.xml,当然也可以取其他数据库的名字,只要在web.xml里面进行相关的配置,网站即可以找到Struts的配置文件。MVC设计模式MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,MVC把应用程序分成3个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担当不同的任务。如图3-1所示显示了这几个模块各自的功能及它们的相互关系。控制器控制器接受用户请求调用模型响应用户请求选择视图显示响应结果视图显示模型状态接受数据更新请求向控制器发送请求模型处理业务逻辑响应状态查询通知视图业务状态更新图4.3模型-视图-控制器原理图
5详细设计与实现5.1前台部分前台部分由用户使用,包括用户注册,用户登录购物车管理,商品分类查询,等几个部分。本系统包含系统公共类的定义与实现,系统平台登陆模块的实现,企业人事信息管理模块的实现,企业新闻发布中心模块的实现,企业资产管理模块的实现,企业在线库存系统的实现,企业BBS模块的实现,安全退出模块的实现。自定义ActionServlet控制器组建解决系统中文问题由于页面及数据库均采用中文操作系统GB2312的编码方式,为是WEB服务器能够正确的处理且JSP页面能够正确的显示中文,必须对Struts内部编码方式做一定的修改,使之能够正确处理GB2312的编码方式的功能。具体做法如下所述:1.自定义ActionServlet的编码方式,代码如下:packageorg.lxh.struts.action;importorg.apache.struts.action.ActionServlet;publicclassMyActionServletextendsActionServlet{ publicvoidprocess(ServletRequestrequest,ServletResponseresponse){try{request.setCharacterEncoding("gb2312");cess(request,response);}catch(Exceptione){e.printStackTrace();}}}2.配置文件在Struts系统加载ActionServlet控制器组件时候,加载自定义的控制器组建。修改中的<servlet-class>元素属性,代码如下:<servlet-class>action.myActionServlet</servlet-class>网站首页首页页主要包含:用户登录,用户注册,用户管理购物车,管理员登录网站前台首页的运行结果如图所示:图5.1购物网站首页图用户管理模块用户管理模块主要包括用户注册,登录及找回密码3个部分1.用户注册页面当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图所示:图5.2用户注册页面图关键代码如下:publicclassregistactionextendsServlet{ publicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException { response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("GBK"); PrintWriterout=response.getWriter(); Stringregname,realname,psw,birthday,sexy,email,addr,idfycard,bankID; Stringyear,month,day; regname=request.getParameter("regname"); realname=request.getParameter("realname"); psw=request.getParameter("psw"); year=request.getParameter("year"); month=request.getParameter("month"); day=request.getParameter("day"); birthday=year+"-"+month+"-"+day; ………2.配置文件<form-beanname="loginPeopleForm"type="org.lxh.struts.people.ssh.LoginPeopleForm/><forwardname="loginSuccess"path="/index.jsp"></forward>…….(部分代码省略)3.创建Form类,里面封装了注册所需要的用户名,密码用户权限等信息。4.创建Action类(部分代码如下)publicclassLoginActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsException{……部分代码省略}}用户登录为了使购物系统有一个安全的运行环境,在用户购买商品以前首先要进行身份验证,只有注册了的用户才可以购买商品。登录页面如图5.3所示:图5.3登录页面图登录模块页面的实现系统登陆时本系统最先使用的功能,用户输入正确信息才可以登录。下面是关键代码如下:……//省去了部分HTML代码<fontcolor="C6DCDE"><b><fontcolor="227776">用户名:</font></b></font><inputname=usertype=textstyle="background-color:#FFFFFF;border-left:1pxridge#C6DCDE;border-right:1pxridge#C6DCDE;border-top:1pxridge#C6DCDE;border-bottom:1pxridge#C6DCDE"cursor:pointer;size="12"maxlength="15"></td></tr><tr><tdstyle='padding-left:5px'height="20"><b><fontcolor="227776">密码:</font></b><inputname=pwdtype=passwordstyle="background-color:#FFFFFF;border-left:1pxridge#C6DCDE;border-right:1pxridge#C6DCDE;border-top:1pxridge#C6DCDE;border-bottom:1pxridge#C6DCDE"size="12"maxlength="15"></td></tr>2.配置文件<form-beanname="loginPeopleForm"type="org.lxh.struts.people.ssh.LoginPeopleForm/><forwardname="loginSuccess"path="/index.jsp"></forward>…….(部分代码省略)3.创建LoginForm类,里面封装了登陆所需要的用户名,密码用户权限等信息。4.创建LoginAction类(部分代码如下)publicclassLoginActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsException{……部分代码省略}}当用户输入相应的用户名,密码,权限等信息就通过表单提交到ActionForm中,通过ActionForm提交到loginAction中,对用户提交的登录信息进行验证,正确就通过,不正确就返回登陆页面重新登陆。职员登陆表单的name的属性为userForm,它是Struts的配置文件中进行的配置。购物车模块在超市购物,可以根据自己的需要将很多的物品挑选到购物车(篮)中。而在网上虚拟的购物商城中,通常都会采用一种被称做“购物车”的技术来模拟现实生活。这种技术用起来十分方便,不但可以随时添加,查看,修改,清空购物车中的内容,还可以随时去收银台结帐。添加购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它可以将所选物品信息放入购物车中显示出来。运行结果如图5.4所示:图5.4购物车信息图确认购买当用户需继续购买可点击购物车中的继续购买功能选项,返回主页面继续选择商品。当用户确定购买所需商品后,在购物车中的商品编号前打上对号,即可以选定商品,然后点击购物车中的去收银台功能选项去支付所购买的商品。如下图5.5所示:图5.5确认订单图5.2后台部分后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。主要包括管理员身份验证,添加商品模块,查询用户信息管理模块,添加链接模块,公告信息管理模块组成。判断管理员的密码是否正确的函数在前面已经介绍过了,希望读者可以把前面的知识认真复习。根据需求分析的文档可以得出管理员可以对商品进行添加,删除,修改商品信息等操作,同时也可以对注册用户进行管理操作。后台首页网站后台首页运行结果,如图所示:图5.6后台管理页面图管理员登录1.页面设计在前台首页单击管理员入口,将转到管理员登录页面。该页面的功能是对管理员身份验证,用户输入用户名和密码后单击“登录”按键,系统将判断用户名和密码的有效性,如果通过验证则转到后台首页,反之则提示错误。管理员登录页面的运行结果如图所示:图5.7管理员登录页面图在管理员登录页面中,对管理员的身份与数据库进行验证,关键代码如下publicclassloginactionextendsServlet{ publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsIOException,ServletException { Sessionsession=request.getSession(); Stringuser=request.getParameter("admin"); Stringpwd=request.getParameter("UserPassword"); booleanflag=false; if(user.equals("chl")) { if(pwd.equals("chl")) { flag=true; } } 商品管理单击“商品管理”,界面右侧自动显示相应的商品列表。该界面可以实现商品信息的添加、删除操作[10],如图所示:图5.8商品管理界面图商品的添加商品的信息包括:商品编号,商品名,商品价格,商品数量,商品供应商,商品介绍等。管理员在文本框中输出这些信息后,提交并且插入到数据库中。当前台页面将商品信息提交后,系统将信息传递给Servlet处理,信息在传递的过程中,类型都为字符型,所以插入数据库之前都要将数据转换成原来的形式。主要代码:publicclassaddactionextendsServlet{ doPost(ServletRequestrequest,ServletResponseresponse) throwsIOException,ServletException { response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("GBK"); PrintWriterout=response.getWriter(); booleanflag=false; Stringgname,gpricestr,gnumstr,gimg,gmaker,gintro; gname=request.getParameter("gname"); gpricestr=request.getParameter("gprice"); gnumstr=request.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生体像认知与医学美容态度的关系调查
- 山东省济南市2024-2025学年高三上学期期末学习质量检测英语试题【含答案】
- 室内厨房设计施工方案
- 挖碴装车施工方案
- 地坪施工订做方案范本
- 5年级学霸数学笔记
- 2025年规划数学试题及答案
- 等边三角形电荷电场线
- c.d级危房安全风险隐患问题及短板
- 接口处防水施工方案
- 2025年蛇年年度营销日历营销建议【2025营销日历】
- 2024年黑龙江哈尔滨“丁香人才周”(秋季)事业单位引才招聘2074人易考易错模拟试题(共500题)试卷后附参考答案
- ISO22301新版标准翻译(中英对照)
- 学术论文的撰写方法与规范
- 建设工程施工合同农民工工资补充协议
- 智研咨询发布:汽车雨刮器总成产业百科(附行业现状、相关政策及发展驱动因素分析)
- DL∕T 2577-2022 轴流转浆式水轮发电机组检修规程
- 2023年四川省绵阳市中考数学试卷
- 《统编教材背景下小学语文整本书阅读策略的研究》中期报告
- (正式版)JBT 2930-2024 低压电器产品型号编制方法
- 【课件】2024届新高考英语语法填空专项.解题技巧课件
评论
0/150
提交评论