1、87 毕业设计(论文)说明书网上购物系统设计说明书(论文)摘 要现在电脑以已经家庭化,网上购物也已经是非常平常的事了,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是用JSP在网络上架构一个动态的电子商务网站,它是在linux下,以mysql为数据库开发平台,用Hibernate连接数据库,struts作为服务收发请求管理,调用业务成,Tomcat网络信息服务作为应用
2、服务器,采用JSP(Java Server Pages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,管理员信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。关键字:JSP;mysql;Hibernate;struts;Tomcat;网上购物系统Designed in the Online shopping system based on JSPComputer Science an
3、d Technology Teacher Abstract:Along with the vigorous development of the Internet, e-commerce networks as a shopping center is a form of its highly efficient, low-cost advantages, gradually emerging as a business model and philosophy, there is no longer meet use and dissemination of information brow
4、sing, but a desire to bring the full enjoyment network more convenient. Internet shopping is being adapted to the fast pace of todays society to live, so that customers can enjoy the convenience of fast and easy way to purchase their own like commodities. The system is trying to use JSP in a dynamic
5、 network of e-commerce websites structure, which is in Windows XP, SQL Server 2000 for database development in platform, Tomcat application server as a network information services, use JSP (Java Server Pages) technology development online shopping system. Prospects and the background of some of his
6、 hours, the prospects of users, including users registered, a shopping cart management, order management, personal information management, message board management functions; Background in part by managers, including commodity management, processing orders, customer information management, informati
7、on management, and other functions links. After the establishment of the website is a dynamic, interactive, with commodities, systems management, voice mail, and other functions of the e-commerce website users. Keywords JSP; mysql;Hibernate;strust;Tomcat;Online shopping system摘 要1前言21 系统概述61.1 JSP的技
8、术原理61.1.1 JSP语言及其特点61.1.2 Java及Java Servlets及struts概述71.1.3 Hibernater简介101.1.4 JavaBean简介111.2 服务器配置111.3 数据库配置132系统需求分析及总体设计152.1 系统功能模块设计152.2系统总体设计153系统图214 系统详细设计254.1前台总体框架255用户模块275.1用户注册275.2用户登录305.3修改密码315.4 用户资料修改326订单的管理356.1订单的产生356.2用户资料的确定386.3保存定单到数据库417测试477.1用户模块测试477.2定单模块测试538总结体
9、会55参考文献56附录1英文参考文献的翻译一58前言网上购物已经是很平常的事了,网上商店也以发展得非常快速,现在网上的物品不仅仅多,而且样式多种多样,有的物品你在现实生活中可能很难找到,但到了网上你却可以轻松找到。而且现在网上购物系统的软件开发也已经非常成熟。其中用得最多的是MVC模式。JSP的全称是Java Server Pages,是一种以Java为主的跨平台Web开发语言,它具有安全性,健全性,运行效率高等许多优点。本次毕业设计基于JSP的网上购物网站的设计,是在linux下,以mysql为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pag
10、es)技术开发的。在本论文中全面详细地介绍了网上鲜花系统的设计方案,第1章为JSP的基础理论,包括JSP的技术原理,Java及Java Servlets及struts概述,Hibernater简介,JavaBean简介,在JSP中使用XML。系统构架,包括服务器配置,Web站点配置;第2章为系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明,总体流程设计;第3章为系统类图和关系图的设计,包括数据库结构设计,用Hibetnate连接数据库;第4章系统详细设计,包括前台和后台两个大的部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理
11、等功能;后台部分由管理员使用,主要包括会员信息管理,主要包括商品管理,处理订单,用户信息管理,管理员信息管理等功能;第5章为用户模块;第6章为定单模块;第7章为测试,对我写的这两个模块进行测试;第8章为心得体会,我完成这个毕业论文得到的收获感想。1 系统概述1.1 JSP的技术原理1.1.1 JSP语言及其特点在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。Web服务器在遇到访问JSP网页的请求时,首
12、先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP技术在多个方面加速了动态Web页面的开发:(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒
13、的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(Ja
14、vaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用
15、其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4)JSP能提供所有Servlets功能与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。(5)健壮的存储管理和安全性由于JSP页面的内置脚本语言是基于Java编
16、程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。(6)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。1.1.2 Java及Java Servlets及struts概述JSP技术是用JAVA语言作为脚本语言的,谈及JSP技术,少不了要对JAVA技术进行一些基本的介绍。JAVA语言的主要特点: 1、纯面向对象 2、跨平台(“write
17、once,run anywhere!”一次编译到处运行) 3、简单(Java语法去掉了指针,运算符重载,多重继承等;有垃圾回收器:程序员只负责对象的创建,垃圾回收器负责对象销毁和资源释放,一般只会在内存空间不够的情况下进行资源回收)二、JAVA程序的开发过程: 1、JAVA源代码(.java)-JAVA编译器-JAVA字节码(.class)-JAVA解释器+CPU(虚拟机:屏蔽底层操作系统的差异)-执行JAVA字节码 2、计算机编译一个java程序的过程 1)启动JVM。 2)通过JAVA_HOMEjrelib目录下找到对应的类。 3)如果的2不找不到则在环境变量中配置的CLASSPATH配置
18、的路径中找类。三、环境变量的设置: JAVA_HOME:指定JDK的位置。 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置。 EXPORT :将指定的环境变量声明为全局的。 LINUX系统(在.bash_profile下的环境变量设置)JAVA_HOME=/opt/jdk1.5.0_06CLASSPATH=.PATH$PATH:$JAVA_HOME/bin:.export JAVA_HOME CLASSPATHJava Servlets:就是用它来接受用户的请求和转发给用户的内容。Servlet基本概念:Servlet是服务器端的程序,是运行
19、在WEB服务器或者应用服务器上的JAVA程序。是基于Http协议的,用于处理和响应客户端请求,可以将Servlet看作是一个含有HTML的JAVA程序.Servlet开发步骤1、编写servlet源代码:a import javax.servlet.*,import javax.servlet.http.*;b 继承HttpServletc 至少一个service方法(doPost(.),doGet(.),每个service方法有两个参数HttpServletRequest req,HttpServletResponse res 2、编译servlet,需要servlet-api.jar文件(
20、位于$Tomcatcommonlib目录下;配置到classpath环境变量中)3、部署servlet 1)编写配置文件web.xml 2)构造web应用程序目录结构如下: MyWebApp(MyApp) WEB-INF classes存放.class文件 web.xml 配置后的web.xml lib 把很多.class文件打成的.jar包 配置文件web.xml放在WEB-INF目录下 servlet类文件放在classes目录下 3)将整个应用程序目录拷贝到$Tomcatwebapps目录下4、测试web应用程序,利用$Tomcatlogs目录下的日志帮助,调试。struts概述:Str
21、utsMVC框架:Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。Struts提供了一些组件使用MVC开发应用程序:Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了
22、一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。struts的web应用的开发步骤:1,对应用环境进行配置2,创建web应用的结构,需要将struts应用的jar文件进行部署。3,在web服务器部署struts4,配置struts-config.xml文件,配置Actoin5
23、,写自定义Action,实体,以及业务类容器,是用来管理组件行为的一个集合工具,组件的行为包括与外部环境的交互、组件的生命周期、组件之间的合作依赖关系等等。J2ee包含的容器种类大约有Web容器、ApplicationClient容器、EJB容器、Applet客户端容器等 。组件,本意是指可以重用的代码单元,一般代表着一个或者一组可以独立出来的功能模块,在J2ee中组件的种类有很多种,比较常见的是EJB组件、DAO组件、客户端组件或者应用程序组件等,它们有个共同特点是分别会打包成.war,.jar,.jar,.ear,每个组件由特定格式的xml描述符文件进行描述,而且服务器端的组件都需要被部署
24、到应用服务器上面才能够被使用 在tomcat服务器中,访问应用下的资源可以在端口号后加上web应用文件夹得名字就可以看到资源http:/localhost:8080/url-pattern,静态页面只能放在web应用的文件夹下,不能够放在WEB-INF文件夹下,WEB-INF文件夹中的资源是受保护的,不能够通过网络访问到。创建Servlet对象,通过服务器反射机制创建Servlet实例,默认第一次请求时才会创建。调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次。响应请求,调用service()或者是doGet(),doPost()方法
25、来处理请求,这些方法是运行的在多线程状态下的。在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。Init(ServletConfig config):创建Servlet实例时,调用初始化方法。Destroy():销毁Servlet实例时,自动调用资源回收。总结:在初始化Servlet,完成某些资源初始化考虑重写init方法,在销毁Servlet之前,完成某些资源的回收,如(数据库连接,中止后台线程等)重写destroy方法servlet主要数据结构: Servlet 接口:主要定义了servlet的生命周期方法 ServletConfig接口:为ser
26、vlet提供了使用容器服务的若干重要对象和方法。 ServletContext接口:是Servlet的上下文对象,这个对象是在服务器启动时创建的,为servlet提供了使用容器服务的若干重要方法。 GenericServlet抽象类:为servlet提供了一般的实现(包括实现了servlet和ServletConfig两个接口),保存了容器通过init方法传递给servlet的一个ServletConfig类型的重要对象。 HttpServlet抽象类:为处理http请求的servlet提供了一般实现,主要是定义和实现了若干service方法。 继承关系:GenericServlet继承了Se
27、rvlet和ServletConfig接口;HttpServlet继承了GenericServlet;我们写的servlet继承了HttpServlet 在浏览器的地址栏操作按回车键,或者是热连接,都是get请求,form的method属性如果不指定,默认为get请求(传的数据不能太大,且表现为明文)。get请求,会将参数显示在浏览器的地址栏上,其显示格式,在地址之后会以?开始,以&分隔参数,可以通过HttpServletRequest对象的getQueryString()方法来获得get请求的参数值。post请求:ServletRequest对象的getInputStream()方法可以获得
28、一个由Socket得来的输入流,可以使用这个流来实现文件的上传。getReader()方法可以直接获取post请求的参数。1.1.3 Hibernater简介hibernate数据持久化组件,对象持久化,把数据保存在永久的存储介质中(数据库)OR/M(object relation mapping)对象关系映射。POJO类,就是标准的Java Bean。Hibernate就是一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。Hibernate的底层也是有JDBC实现的。hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的
29、驱动。hibernate的系统配置文件的名字一般叫做hibernate.cfg.xml,一般是映射类名加.hbm.xml。一般将映射类的xml文件和实体类放在一起。hibernate.cfg.xml中会设置数据库的连接信息,以及引用的其他文件的文件名,和一些其他的摄制。这个文件一般放在项目的根目录下。在hibernate.cfg.xml的写法!DOCTYPE hibernate-configuration PUBLIC-/Hibernate/Hibernate Configuration DTD 3.0/ENtruetrue. . .hibernate的映射类的XXXX.hbm.xml的写法!
30、DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 使用hibernate编程步骤1,配置环境,加载hibernate的jar文件,以及连接数据库连接使用的jar文件,并配置CLASSPATH环境变量。2,写hibernate所需的配置文件,hibernate.cfg.xml ,Xxxxx.hbm.xml3,写POJO类4,调用hibernate API。 1)使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象 2)使用Sessio
31、nFactory对象openSession()方法创建Session对象。 3)使用Session的相应方法来操作数据库,将对象信息持久化到数据库。1.1.4 JavaBean简介JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。由于Java语言
32、在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。1.2 服务器配置第一步:从官方网站http;/下载该软件的最新版本。我所下载的是jdk-1_5_0_06-
33、windows-i586-p.exe文件。第二步:双击.exe文件,安装在C:Program FilesJavajdk1.5.0_06。第三步:JDK的环境配置:JAVA_HOME:指定JDK的位置。CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码)PATH:指定可执行程序的位置。EXPORT :将指定的环境变量声明为全局的.LINUX系统(在.bash_profile下的环境变量设置)JAVA_HOME=/opt/jdk1.5.0_06CLASSPATH=.PATH$PATH:$JAVA_HOME/bin:.export JAVA_HOME CLASSPATH图1 javac
34、调试界面Tomcat的配置JAVA_HOME=/XXX/XXX/(JDK路径,bin的上一层目录)CATALINA_HOME=/XXXX/XXX(tomcat的绝对路径 windows中 X:xxxxxx)在启动Tomcat时,是运行Tomcat的bin目录下的startup.sh(windows中使用startup.bat)判断Tomcat是否启动成功,可以在浏览器的地址栏中使用http:/localhost:8080/或http:/127.0.0.1:8080/可以访问到tomcat的主页就是启动成功了。要想停止tomcat服务器要使用shutdown.sh(windows中使用shutd
35、own.bat),如果直接关闭启动窗口,就会造成8080端口占用错误,这时可以在使用shutdown.sh关闭一下服务器。tomcat的默认监听端口是8080端口,当接受到每一个连接请求,就会为其分配一个线程,tomcat可以识别的资源只有在webapps文件夹下,webapps也就是web应用文件夹,webapps下的文件夹这些文件夹中存放的就是web应用,web应用是有格式规范的,每个web应用的文件夹下都要有WEB-INF文件夹,WEB-INF文件夹下有classes,和一个web.xml文件,一些使用到的类文件放在classes中。tomcat中配置了root缺省应用,也就是在不指定的
36、情况下会默认访问这个应用。web.xml文件的写法!DOCTYPE web-app PUBLIC -/Sun Microsystems, Inc./DTD Web Application 2.3/EN 在tomcat服务器中,访问应用下的资源可以在端口号后架上web应用文件夹得名字就可以看到资源http:/localhost:8080/xxxxx/xxxx.html,静态页面只能放在web应用的文件夹下,不能够放在WEB-INF文件夹下,WEB-INF文件夹中的资源是受保护的,不能够通过网络访问到。设置完毕后就可以运行Tomcat服务器了。Tomcat成功启动后,在浏览器中输入http;/lo
37、calhost;8080/,如果出现欢迎界面,则说明Tomcat安装成功。欢迎界面如图2所示。图2 Tomcat欢迎界面1.3 数据库配置(1)mysql首先,从网上下一个mysql数据库,在linux下按装好,按装好之后建一个数据库名称为(flowersystem)。create database flowersystem:图3 创建新数据库flowersystem建表语句:create table fh_user(id int(11) auto_increment primary key,userName varchar(20) unique,password varchar(40) no
38、t null,address varchar(40),postcode varchar(40),email varchar(40),homephone varchar(40),cellphone varchar(40),officephone varchar(40); create table fh_flower(id int(11) auto_increment primary key, flowerName varchar(255), price double(5,2), color varchar(255), number int(11),typeName varchar(255), b
39、alance double(5,2), information varchar(255); create table fh_order(id int(11) auto_increment primary key, orderCost double(11,2), start_date date, uid int(11);create table fh_item(id int(11) auto_increment primary key, number int(11), cost double(11,2), fid int(11), oid int(11); 2系统需求分析及总体设计此基于JSP的
40、购物网站分前台功能和后台功能: 前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,管理员信息管理2.1 系统功能模块设计网上购物系统前台功能后台功能 用户管理 购物车管理 订单管理 个人资料管理 留言板管理 用户信息管理 公告信息管理管理员信息管理 处理订单 商品管理 管理员身份验证功能结构图如下:图9 功能模块设计图从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言
41、7个模块;后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,管理员信息管理5个模块。2.2系统总体设计网上鲜花定购系统的整个系统的流程:先从页面来说。当用户上网进入网上鲜花定购系统的主页面,这里的页面都是用JSP来写的。它是一个动态页面:JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和 scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首