版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE39 / NUMPAGES44 毕业论文(设计)基于SSH框架的Web设计与实现学 生 姓 名: 辰宇 指导教师: 妍 (讲师) 专业名称: 通信工程 所在学院: 信息工程学院 2013年 6 月目 录 TOC o 1-2 h z u HYPERLINK l _Toc22218 摘要 PAGEREF _Toc22218 I HYPERLINK l _Toc2100 Abstract PAGEREF _Toc2100 II HYPERLINK l _Toc13383 第一章 前言 PAGEREF _Toc13383 1 HYPERLINK l _Toc27272 1.1 研究目的和意义
2、 PAGEREF _Toc27272 1 HYPERLINK l _Toc7229 1.2 国外研究现状 PAGEREF _Toc7229 1 HYPERLINK l _Toc10342 1.3 研究容与方法 PAGEREF _Toc10342 1 HYPERLINK l _Toc1025 第二章 可行性与需求分析 PAGEREF _Toc1025 3 HYPERLINK l _Toc1308 2.1可行性分析 PAGEREF _Toc1308 3 HYPERLINK l _Toc18812 2.2需求分析 PAGEREF _Toc18812 4 HYPERLINK l _Toc23285 第
3、三章设计技术与系统运行环境 PAGEREF _Toc23285 7 HYPERLINK l _Toc10665 3.1设计技术 PAGEREF _Toc10665 7 HYPERLINK l _Toc5986 3.2系统运行环境 PAGEREF _Toc5986 15 HYPERLINK l _Toc22318 第四章 系统设计 PAGEREF _Toc22318 17 HYPERLINK l _Toc31123 4.1 官网系统 PAGEREF _Toc31123 17 HYPERLINK l _Toc14070 4.2 图书出售系统 PAGEREF _Toc14070 18 HYPERLI
4、NK l _Toc29511 4.3 办公系统 PAGEREF _Toc29511 21 HYPERLINK l _Toc31324 4.4 数据库设计 PAGEREF _Toc31324 24 HYPERLINK l _Toc9392 第五章 系统实现 PAGEREF _Toc9392 26 HYPERLINK l _Toc19431 5.1 系统架构 PAGEREF _Toc19431 26 HYPERLINK l _Toc29915 5.2 持久层Hibernate实现 PAGEREF _Toc29915 29 HYPERLINK l _Toc10917 5.3 控制层Struts实现
5、PAGEREF _Toc10917 30 HYPERLINK l _Toc4610 5.4 业务层Spring实现 PAGEREF _Toc4610 33 HYPERLINK l _Toc12714 第六章 结论与建议 PAGEREF _Toc12714 36 HYPERLINK l _Toc16808 致 PAGEREF _Toc16808 37 HYPERLINK l _Toc13374 附录 PAGEREF _Toc13374 39 TOC o 1-3 h z 摘要本次毕业设计主要以电子商务为主题进行Web的设计与开发,在框架方面应用了现今比较主流的SSH框架。设计背景以海洋大学出社为主
6、题,并针对其进行设计与开发电子商务系统。本次设计包括三个大模块分别为,后台管理OA系统、官网系统、图书出售系统,每个模块又包括了诸多小模块。项目结构方面采用MVC架构大体上分为视图层、控制层、持久层,持久层细分为DAO层与业务层。这种结构使得开发开发过程中逻辑清项目结构简明便于后期的功能扩展与二次开发。技术方面在视图层采用的是Jsp页面技术,在此基础上部分页面引入Ajax请求。服务器采用开源稳定的Tomcate服务器,数据库是MySQL。具体的框架版本为Struct2、Hibernate3.3、Spring3.0,开发工具为Meclipse9。关键词:Hibernate,Spring,Stru
7、ct2,Java,数据库 AbstractThe graduation project designs and develops Web site mainly with the theme of e-commerce,and applise the SSH(Secure Shell ) framework in the matter of framework which is the mainstream today.The project designs and develops e-commerce system with the design background of the pro
8、ject witch bases on the theme of DLOU Press.The project contains of three main module.they are,respectively,the backstage management OA (Office Automation)system ,the official web site system and the book selling system,and each module contains numerous branch modules.The MVC(Model View Controller)
9、technique is adopted in the aspect of project architecture which divided into View layer, Control layer and Hibernate ,among the three parts,Hibernate is subdivided into DAO(Data Access Object) and business layer.This structure makes the logic and system structure clear, and has good expansibility a
10、nd maintenance.JSP(Java Server Pages)technology is adopted on the View layer at the technical level,based on this,part of webpages use AJAX(Asynchronous JavaScript and XML) request technology.Steady open source Tomcate servlet is adopted in the aspect of server and the database is MySQL.The concret
11、structure version is Struct2.1、Hibernate3.3、Spring3.0,and Meclipse9 is used as development tool.Key words: Hibernate,Spring,Struct2,Java,DataBase第一章 前言在JavaWeb设计与开发方面,比较经典的架构为MVC架构“M”指的模型(Mode)。“模型”在开发过程中指的是持久层,再具体点说就是代码中的DAO(持久层),Service(业务层),Bean组件等,这些用于分析问题的逻辑关系和算法序列的表示体系都属于模型的畴。“V”指的是视图(View)在不同
12、的领域所用的技术不同如:Jsp,PHP,Html都属于视图技术,是直接展现给用户的。在Java中使用的是Jsp页面,一种动态的页面技术。“C”指的是控制器(Control)。这种架构方法,将一个项目有条理的分成了三个部分,从而使开发过程中代码与代码之间的耦合度降低。11.1 研究目的和意义应该说没有多少人怀疑计算机OA系统(自动化办公系统)的出现的意义。计算机OA系统的出现给办公人员带来了便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要将工作人员从繁琐的事务、业务逻辑、工作方式解放出来,用更多的精力去关注更重要的事情。从而提高企业的效率、增强企业的综合竞争能力。在这
13、样办公方式下,企业的组织结构、工作职能,能够得到简化,各个部门在信息共有化的基础上进行协调工作,这样便于明确各个部门甚至细微到每个每个工作人员的责任,而领导层可以迅速综合采纳来自多方面的资讯信息,并以此为依据制定企业的发展方针。从这个意义上讲,在市场竞争越来越据烈化的今天,办公自动化系统己经不再是一种单一的手段、而是一种工具,更成为决定企业未来发展,生存空间的命脉。1.2 国外研究现状电子商务在现今信息飞速发展的今天有着举足轻重的地位,当今淘宝、当当网、银行服务系统、企业销售官网等都属于电子商务畴。2电子商务的出现使得许多繁琐、逻辑性高、需要大量人力物力的工作可以通过远程网络的形式来处理解决。
14、大大减少了人力物力的投资,提高了工作效率。1.3 研究容与方法在MVC架构的基础上,现今比较成熟稳定的框架技术是SSH框架。SSH是成熟、稳定、开源的三大框架。S的是Struct2,在针对MVC架构中Struct2框架扮演着控制器(Control)的角色。在视图层与服务器交互的过程中由struct2来控制,它的底层技术是Servlet。第二个S指的是Spring这个开源框架,Spring充当的是一个容器的角色在实例化Bean组件、调用Bean组件、实例化Service层实时,都用Spring这个容器统一实例化并调用。Spring框架的出现大幅度降低了代码与代码之间的耦合度,在Spring框架中
15、经典的是AOP(面向切面编程)与IOC控制反转。H指的是Hibernate这个框架主要服务于持久层。它的出现解决了繁琐的数据库查询工作,直接面对逻辑对象编程与查询更加体现出Java面向对象编程的特点。Hibernate是一个智能化比较高的框架,使用不好会使服务器效率大大降低。3第二章 可行性与需求分析2.1可行性分析1 组织和管理可行性基于电子商务Web门户的办公自动化系统采用分模块的开发方式,将整个项目分为三个大系统,分别为图书出售系统,官网最新资讯系统,和后台的OA办公管理系统。在三大系统的基础上又分为若干个模块,如:OA系统的,员工管理模块、官网管理模块、图书管理模块,图书出售系统,订单
16、生成模块、分类浏览模块等。2 经济可行性所谓的经济可行性为在针对企业开发智能化办公系统的过程中,所投入的人力物力软件系统的前期花费,在后期软件的运营过程中是否能带来相应的效益、是否能给使用者带来方便、这工作人员从繁复的逻辑中解放出来从而获得更大的利益,提高工作效率。3 技术可行性在针对企业的切实业务开发过程中,视图界面的制作时通过现有的功能全面、强大的Dream weaver开发制作。在整体布局上强调的是简洁、美观、大方、功能全面和操作的简易可行。服务器采用的是稳定开源的Tomcate服务器。在针对中小型企业开发过程中Tomcate服务器可以完美的兼容开发程序。数据的处理采用的是Mysql数据
17、库,也是一款开源稳定的数据库,兼容多种语言而且速度非常快。采用的是经典的MVC架构。框架方面引进的是SSH框架是当今javaEE web开发中主流的框架。在MVC架构的基础上,现今比较成熟稳定的框架技术是SSH。SSH是成熟、稳定、开源的三大框架。S指的是struct2,在针对MVC架构中Struct2框架扮演着控制器(control)的角色。在视图层与服务器交互的过程中由Struct2来控制,它的底层技术是Servlet。第2个S指的是Spring这个开源框架。Spring充当的是一个容器的角色,在实例化Bean组件、调用Bean组件、实例化Service层时,都用Spring这个框架实例化
18、并调用。Spring框架的出现大幅度降低了代码与代码之间的耦合性,在Spring框架中经典的是AOP(面向切面编程)与IOC控制反转。H指的是Hibernate,这个框架主要服务于持久层。它的出现解决了繁琐的数据库查询工作,直接从逻辑对象中调用查询数据即可。是一个智能化比较强的框架,处理不好会使服务器性能大大降低。2.2需求分析2.2.1 官网系统功能分析企业不仅代表着企业的网络品牌形象,同时也是开展网络营销的根据地,建设的水平对网络营销的效果有直接影响。企业的功能主要表现在八个方面:品牌形象、产品/服务展示、信息发布、顾客服务、顾客关系、网上调查、网上联盟、网上销售。2.2.2图书出售系统分
19、析1业务流程图 1网购基本流程图2 图书出售功能分析用户身份验证模块(登陆模块)HYPERLINK :/baike.baidu /view/3314.htm计算机网络世界中一切信息包括用户的HYPERLINK :/baike.baidu /view/1034208.htm身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。通过登录的方式对用户的身份进行验证,以便于系统确定用户的身份更好的为用户服务。(2)用户注册模块通过注册获取用户的信息,并给与用户一定的权限.为后续的系统服务提供具体的对象。(3)图书浏览、购书模块根据不同的需求,提
20、供给客户部同的浏览方式。包括图书查询、分类浏览,按时间浏览等,用户想购买的图书可以添加到购物出付款,购买信息将根据用户信息进行绑定。(4)购物车模块该模块可以将出版图书集中付款、批量删除、修改图书数量、结算。同一用户登陆时可以恢复购物车,未结算商品可以继续结算并且结算后购物车清空。(5)订单生成模块根据用户的具体信息生成订单,并与用户的唯一信息(id)进行绑定。在生成订单过程中用户可以自由的决定是否保留本次的订单地址。(6)我的信息模块该模块中购物网用户可以清洗直观的,看到自己的个人信息、订单、地址,并提供对这些信息的修改、增加、删除、查找等操作。2.2.3 OA商务管理系统功能分析1 业务流
21、程:OA该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。业务流程图如图所示:图2 OA系统业务流程图2 后台OA商务管理系统功能分析OA后台管理系统如下:(1)管理员登陆模块对用户进行身份验证,由于是后台OA办公系统只有管理员身份有权限登陆。进行身份验证后,可以进行对官网的维护等信息操作。(2)用户信息管理模块可以查看全部用户的信息,修改部分用户的信息。便于管理员管理维护购书网系统的用户信息。(3)订单信息管理模块提供用户订单的增加、删除、修改等必要的工作。提供订单的分类浏览操作如:按生成时间排序、按是否成交排序等操作。(4)员工信息
22、管理模块该模块提供对员工的增加、删除、修改等必要的工作。工资新宿调整、人员的调度、部门的更换的操作。(5)官网管理模块对企业官网的信息进行动态的维护。如新闻的发布、文件的上传、文件的下载、最新注意事项、视频的上传。(6)图书管理模块该模块提供图书的管理、上架、下架、新图书发行、图书信息浏览等操作。主要用于管理图书销售网图书的发行、发售、上架,和图书的分类级热销图书模块、编辑推荐模块的图书维护。第三章设计技术与系统运行环境3.1设计技术1 页面技术(JSP)(1)Jsp是什么?JavaServerPage(Ava服务器端页面技术)Sun公司制订的一种服务器端动态页面生成技术的规,在Jsp技术当中
23、,只需要在Html标记当中,添加少量的java代码,就可以实现动态页面。因为直接使用Servlet输出动态页面非常麻烦(需要使用OutPrintln),并且难以维护(如果页面发生改变,需要修改Java代码)。所以Sun公司才会制订Jsp规。(2)Jsp是如何执行的?Step1:容器先将.jsp文件转换成一个.java文件(其实,就是将Jsp转换成一个对应的Servlet)。a,HtmlService方法里,使用out.write输出(write方法会将“null”转换成输出)。b, Service方法里,照搬。c,Service方法里,使用out.print输出。out.print():ste
24、p2:执行Servlet的Service方法。2 JavaBean组件技术JavaBean是一种Java类,它遵从一定的设计模式,使它们易于和其他开发工具和组件一起使用。JavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的类和公共的类,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。43 Servlet技术(1)什么是Servlet?Sun公司制订的一种用于扩展Web服务器功能的组件规,扩展Web服务器功能。早期
25、的web服务器(比如apache web server,is)只能够处理静态资源的请求(需要事先将页面文件写好,并存放到服务器特定的目录下面),不能够处理动态资源的请求即依据请求参数,通过计算,生成一个新的页面)。扩展方式,早期是使用CGI程序来扩展:CGI(common gateway interface),CGI是一个规,约定了Web服务器与CGI程序(使用Perl,C等语言开发的,并且符合CGI规的程序)相互调用的过程。CGI程序有三个问题:a,开发比较复杂(需要开发人员去解析请求参数);b,可移值性比较差(C,Perl等语言依赖于平台);c,性能问题(一个请求,会启动一个进程,进程的开
26、销比较大)。现在,可以使用Servlet来扩展。5(2)Servlet是如何运行的?在浏览器地址栏输入 HYPERLINK :/localhost:8080/ :/localhost:8080/项目名/访问路径Step1:浏览器依据Ip,Port建立与服务器之间的连接。Step2:浏览器将请求数据(请求资源路径,请求参数)按照 协议,打包( 请求数据包),发送给服务器。Step3:服务器解析请求数据包,将请求数据封装到Request对象里面(封装的目的,是为了方便Servlet获得请求数据包中的数据,如果没有Request对象,就需要在Servlet类里面编写、解析请求数据包的代码)。另外,服
27、务器还会创建一个对象Response对象(用来存放servlet处理的结果)。6Step4,服务器依据请求资源路径(web01/sayHello)找到对应的Servlet的配置,创建Servlet对象。Step5,服务器会调用Servlet对象的Service方法(在调用该方法时,会将事先创建好的Request,Response对象作为参数传递进来)。可以在Service方法里面,通过Request获得请求数据,也可以将处理之后的结果存放到Response对象上。Step6,服务器从response对象上取出处理结果,生成响应数据包。发送给浏览器。Step7,浏览器解析响应数据包,取出处理结果
28、,生成相应的界面。4 Struts2技术Struts框架是基于MVC模式结构,基于Struts开发可以简化开发过程。图3 Struct2框架结构图 (1)Struts2框架应用1)使用步骤:a.引入struts开发包b.在web.xml中添加控制器Filter配置。b在src下添加一个struts.xml配置文件(控制器配置文件)。dc编写JSP,Action,DAO等组件。d在struts.xml中添加配置(定义请求和Action对应关系)。2)引入Struts开发包,(5个必须包,文件上传时需要引io包)struts2-core-2.1.8.jar:Struts2开发包。xwork.jar
29、 : xwork:核包。commons-fileupload-1.2.1.jar:文件上传用。commons-io-1.3.2.jar:上传时使用io读写。ognl.jar (OGNL表达式语言,与EL相似,但比EL强大)。Freemarker.jar(模板框架,可以替代JSP)。4)Struts2框架配置文件:Struts.xml:开发者使用,用于定义Action,Result组件。Struts-default.xml:框架置配置,定义了框架底层必要的运行组件。Bean和struts-default的packge在struts-core.jar包中。Dperties:框架
30、置配置,定义了一些框架系统参数例如框。架处理字符的编码,请求类型等.在struts-core.jar包中。5)Action基本配置:a.元素,可以有多个,用于定义一组属性:指定package名称,多个package时不能重名。extends属性:指定继承哪个package,通常指定为space属性:指定请求的前缀,默认/.避免请求名一样时冲突。b.元素,可以有多个.用于定义具体某一个Action组件。name属性:指定该Action对应的请求名。class属性:指定Action组件的包名.类名。method属性:指定调用Action组
31、件的哪个方法.默认为execute。c.元素,可以有多个,用于定义某一个响应视图。name属性:指定视图标识符,与action业务方法返回值相关。5 Hibernate3.0技术(1)Hibernate框架作用Hibernate框架主要是用于实现数据库操作.简化数据库的增删改查原有数据库操作使用JDBC技术,具有以下问题:a.编写复杂的Sql语句;b.需要编码完成实体对象与数据库记录之间映射。c.数据库移植性较差,例如不同数据库分页查询不同。为了解决上述问题,产生一种解决方案ORM:ObjectRelationMapping对象关系映射。实现Java对象与关系数据,表数据之间的映射。7(2)H
32、ibernate框架原理Hibernate是基于ORM机制实现的.对JDBC技术进行了封装.利用Hibernate可以以对象形式操作数据。例如可以将对象添加到数据库,可以将数据库记录取出返回对象.session.save(user):User user =(User)session.load(User.class,1)。(3)Hibernate框架的基本应用Hibernate体系结构:a.Java对象(Entity);b.映射描述文件(*.hbm.xml)用于定义实体类和数据表之间对应关系;c.数据表;d.主配置文件(hibernate.cfg.xml)用于定义数据库连接参数和hibernat
33、e框架配置参数。8使用Hibernate步骤:a.导入Hibernate和数据库驱动开发包b.添加hibernate主配置(1个)c.根据数据表编写实体类(n个)d.编写hbm.xml映射描述文件(n个)e.利用Hibernate API完成数据库操作。Configuration:负责加载Hibernate主配置.SessionFactory:负责创建Session对象。该对象创建比较耗费资源,因为需要加载hbm.xml信息,预先生成常规的预编译的SQL.Session:负责以对象方式对数据库进行增删改查save():添加操作:update():更新操作:delete():删除操作:load(
34、):按主键值查询Transaction:负责事务管理.默认JDBC自动提交事务,而Hibernate关闭了自动提交,因此需要显式commit.Query:负责各种方式的查询。6 Spring技术图4 Spring框架示意图(1)Spring框架整体结构Spring框架主要由以下6大模块组成。a.Core核心模块是各个模块基础,主要提供IOC容器和依赖注入支持。b.AOP模块主要提供AOP实现支持。c.DAO模块主要提供整合JDBC技术与其事务控制的支持。d.ORM模块主要提供整合各种ORM框架与其事务控制的支持。e.WEB模块主要提供整合各种WEB技术的支持,例如Struts.此外还提供了Sp
35、ring的MVC实现。f.JEE模块主要提供整合JavaEE服务一些支持。例如JMS消息服务Email发送服务E等。9(2)SSH开发步骤:a.引入spring开发包和主配置applicationContext.xml。b.引入Hibernate开发包,dbcp包,数据库驱动包。c.根据数据表创建实体类和hbm映射文件。d.编写DAO接口和实现类。e.在Spring容器中定义DAO组件,需要注入SessionFactory,essionFactory需要注入DataSource。f.建议利用junit测试下DAO组件。g.引入struts开发包和主配置struts.xml。h.在web.xml
36、中配置sturts主控制器filter。i.编写Action组件,注意dao或service采取注入形式使用,需名称匹配规则。j.在struts.xml中,配置Action组件;。k.编写Jsp。l.引入Struts和Spring整合的插件包struts2-spring-plugin.jar。m.在web.xml中添加ContextLoaderListener配置,在服务器启动时实例化Spring容器。采用AOP方式实现事务管理:Spring中常用事务类型:REQUIRED支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。SUPPORTS支持当前事务,如果当前没有事务,就以非事
37、务方式执行。MANDATORY支持当前事务,如果当前没有事务,就抛出异常。REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。NEVER以非事务方式执行,如果当前存在事务,则抛出异常。NESTED如果当前存在事务,则在嵌套事务执行。如果当前没有事务,则进行与REQUIRED类似的操作。拥有多个可以回滚的保存点,部回滚不会对外部事务产生影响。只对DataSourceTransactionManager有效。(4)Spring中AOP实现原理(动态代理技术)当使用AOP切入后,目标对象返回时,返回的
38、是Spring容器采用动态代理机制生成一个类型.Spring提供了两种生成方式:1采用JDK中提供的Proxy,为有接口定义的Bean组件提供public class $Proxy0 implements ,原目标对象接口接口类型 变量 = (接口类型)$proxy0对象。2采用CGLIB工具包,为无接口定义的Bean组件提供public class $Proxy0 extends 目标类型目标类型 变量 = (目标类型)$Proxy0对象。107 MVC技术图5 MVC架构示意图在JavaWeb设计与开发方面,比较经典的架构为MVC架构“M”指的模型(Mode)。“模型”在开发过程中指的是持
39、久层,再具体点说就是代码中的DAO(持久层),Service(业务层),Bean组件等,这些用于分析问题的逻辑关系和算法序列的表示体系都属于模型的畴。“V”指的是视图(View)在不同的领域所用的技术不同如:Jsp,PHP,Html都属于视图技术,是直接展现给用户的。在Java中使用的是Jsp页面,一种动态的页面技术。“C”指的是控制器(Control)。这种架构方法,将一个项目有条理的分成了三个部分,从而使开发过程中代码与代码之间的耦合度降低。11(2)MVC好处和工作流程好处是:程序组件便于管理,便于日后维护和扩展。a.首先由视图V发出请求。b.请求交给控制器C。c.控制器C调用模型M。d
40、.控制器C调用视图V响应。(3)在JavaWeb中可以实现MVC结构的技术组合方案一:JSP+Servlet+JavaBean。方案二:JSP+Filter+JavaBean(4)改造控制器,提高通用性和灵活性a.客户端发送请求,请求到达控制器。b.控制器解析一个XML配置文件(定义请求和Action组件对应关系)。c控制器调用与当前请求对应的Action。d Action可以调用DAO完成数据库操作。e控制器调用一个JSP视图为客户端响应。128 Ajax 技术(1)Ajax,有什么作用全称Asynchronous JavaScript And XML异步的JavaScript和XML。Aj
41、ax可以解决传统Web程序的一些弊端,提升用户使用系统体验度。传统Web程序,采用下面工作模式。用户发送请求-等待服务器处理-页面响应。传统Web程序出现问题如下:a.用户在等待处理阶段,什么都不能做.无法进行下一步操作,连续性不强。b.整个页面刷新,处理中,需要很多数据。参与客户端和服务器的传输。(2)Ajax原理和使用步骤Ajax原理:利用浏览器置的XML Request对象采用异步/同步方式发送 请求,服务器处理完毕,返回XML/Text数据给XML Request对象,之后调用事前注册的回调函数将数据,显示到HTML页面。使用步骤:a.客户端程1创建XML Request对象。2利用X
42、ML Request对象创建和发送请求。3调用事先注册的回调函数,处理服务器响应数据。b.服务器端程序Servlet、JSP返回的数据为XML或Text格式。(3)XML RequestAjax示例获取XML Request对:IE5-ActiveXObject、其他-XML Request。注册界面用户名唯一性检查。(4)XML Request对象使用函数:open(type,url,asyn):创建一个 请求。type:指定请求类型,例如get,post等。Url:指定请求地址、asyn:指定请同步还是异步,true表示异步(不写时默认为true)。send(data):发送 请求,dat
43、a:指定请求参数.如果请求为get,使用null值。事件:onreadystatechange事件,利用该事件绑定一个回调函数,处理服务器返回的数据。当readyState属性值发生改变时,执行处理。13属性:readyState 指的是请求处理状态。0:请求未初始化,未执行open函数。1:请求初始化完毕,未发送.未执行send函数。2:请求已发送.执行了send函数。3:请求处理中,服务器Servlet正在处理。4:请求处理完毕。Status指的是 处理状态码。200:正确处理完毕、404:找不到对应资源、500:找到资源,部运行出错。esponseText :获取服务器返回的Text容。
44、注意:该属性在readyState为4时才可以使用。responseXML:获取服务器返回的XM容。14图6 Ajax请求步骤图(5)Ajax编程常见问题浏览器缓存:IE浏览器经常会将GET类型的URL请求,结果缓存,当再次发出一样URL请求时不会去服务器端重新加载,而是将浏览器缓存容取出。解决方法有以下两种。 采用POST方式发请求、采用GET方式发请求。采用POST方式发请求,xhr.open(post,url):xhr.setRequestHeader(content-type,application/x-form-urlencoded):xhr.send(key1=value1&key
45、2=value2);。采用GET方式发请求,可以使用时间戳url?time=+new Date*().getTime()。中文传递乱码 :如果Ajax请求需要传递中文,建议使用POST方式发送请求.Ajax默认采用UTF-8编码.在服务器Servlet中,使用req.setCharacterEncoding(UTF-8)解码。3.2系统运行环境1 JDK是SUN公司开发的产品,是针对java开发的它包括了java在运行时的一些必要环境和一些基础的工具类。2数据库软件MySQL一种开源稳定速度优秀的数据库,本身性能非常的优越在开发型企业项目时也非常优秀。3 Web服务器TomcatTomcat作
46、为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。(JakartaTomcat服务器是在SUN公司的JSWDK(javaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是 Apache-Jakarta软件组织的一个子项目,在OpenSource的模型下进行进一步的开发。它不但支持运行Servlet和JSP,而且还具备了作为商业Java Web应用容器的特征。)Tomcat很受广大程序员的喜欢,因为它运行时占
47、用的系统资源小,扩展性好,支持负载平衡与服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。图7 Tomcate服务器示意图第四章 系统设计4.1 官网系统官网的设计主要以美观、简洁、商务的形式将企业的概貌展现给用户。4.1.1 官网首页的设计图8官网首页模块图官网的基本信息包括导航窗口、企业的基本服务、最新信息等。在官网导航窗口可以跳转到,图书出售、后台管理,两个重要的系统。首页主题是HTML与flash
48、的结合。最新质询等即时消息为ajax请求。最新技术的结合给用户带来简捷美观的视觉感、网页点击的流畅感,从而给用户直观的浏览爽快体验。4.1.2 官网最新资讯设计最新资讯的设计为Jsp页面技术,在后台管理系统,可以直接进行维护与更新,不需要懂得前台的Html技术。不仅节省了人力支出而且使办公更加效率化。局部信心的更新依然为Ajax请求(异步处理)整个页面不进行刷新,带给客户更好的体验感。图 9新闻发布模块截图4.2 图书出售系统针对海大的特色而量身定做的图书出售系统。其中包括了网络购书地基本功能如:用户的注册与登录、图书的浏览,图书的分类、订单的生成、购物车系统、个人信息管理系统等。4.2.1
49、图书出售用户登录模块设计主要用于客户的登录,通过身份验证获得用户基本的信息。图 10图书出售登陆页面4.2.2 图书出售用户注册模块为暂且不是海大出版会员的用户,与想在海大出版购书的用户提供用户的注册。企业为客户进行后续服务必须获得用户的基本信息(如联系方式等),用户注册时获得客户基本信息的方式之一。该页面包含了企业对客户信息的初步验证,在未通过验证时表单不能提交。如对email、等格式是否符合标准,可以通过正则表达式进行初步验证。图11图书系统用户注册示意图 4.2.3图书出售首页首页大体分为五块,每块信息即时更新均为Ajax请求需要局部更新时已有的信息不会刷新,(整页面不刷新)只是局部小围
50、更新。网页浏览更加顺畅。图12图书出售官网4.2.4分类浏览页面进行图书的分类浏览级购买,整个页面均为动态的jsp技术,左侧导航栏管理员可以登陆后台的官网管理系统行为修改添加图书总类,非常的简单快捷即使不懂得Html技术的管理人员也可以通过后台来管理维护前台界面。使得人员得到了充分的利用且提高了工作效率。图 13图书分类浏览4.2.5购物车、订单生成设计购物车逻辑可以对没结算的物品进行整加、删除、修改操作。点结算可以进行付款、生成订单等操作。购物车中的商品应用了cookie技术,即物品在没有付款或删除前即使关闭浏览器也不会消失,系统设置了cookie的保存时间在本次项目中保存时间为3天,这中设
51、计方便了用户。在用户再次点开购物车的过程中系统会判定cookie购物车中是否有商品如果有的话会优先恢复购物车。这样即使不小心关闭浏览器也不用担心物品消失重新购买的问题。图14购物车示意图图15订单生成示意图4.2.6 用户个人信息管理设计对个人信息的管理与以买物品的浏览的操作,可以直观的查看自己最新的交易等个人信息。如已购商品、最近成交商品、自己的所有收货地址、最近生成的订单等操作。图16个人信息示意图4.3 办公系统应该说没有多少人怀疑计算机OA系统(自动化办公系统)的出现的意义。计算机OA系统的出现给办公人员带来了便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要
52、将工作人员从繁琐的事务、业务逻辑、工作方式解放出来,用更多的精力去关注更重要的事情。从而提高企业的效率、增强企业的综合竞争能力。在这样办公方式下,企业的组织结构、工作职能,能够得到简化,各个部门在信息共有化的基础上进行协调工作,这样便于明确各个部门甚至吸味道每个工作人员的责任,而领导层可以迅速综合采纳来自多方面的资讯信息,并以此为依据制定企业的发展方针。从这个意义上讲,在市场竞争越来越据烈化的今天,办公自动化系统己经不再是一种单一的手段而是一种工具,更成为决定企业未来发展,生存空间的命脉。本次OA办公系统假定的企业为“海洋大学”是一个集图书出版、销售的中和性、各种业务集合的中型企业。而后台的O
53、A办公系统集成了企业的 员工管理、会员管理、图书管理、官网管理等模块。4.3.1 用户身份验证模块设计HYPERLINK :/baike.baidu /view/3314.htm计算机网络世界中一切信息包括用户的HYPERLINK :/baike.baidu /view/1034208.htm身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。在登陆过程中必须输入正确的用户名、密码、和验证吗。其中任何一项错误用户将登陆失败。验证码的验证是ajax请求,验证码错误系统会直接提醒。设计图如下:图 17登录模块示意图4.3.2 官网管理模块
54、设计主要用于官网信息的维护发布信息等图 18官网信息的维护发布模块4.3.3 职工管理模块职工管理模块包括了对职工基本信息查看、删除、修改、批量选择、全部反选、查找的操、按特定方式排序等操作。该模块主要用于管理人员对员工信息的查看,修改等操作。设计图如下所示:图 19 职工管理模块示意图4.3.4 用户信息管理设计用户信息管理模块包括了对职工基本信息查看、删除、修改、批量选择、全部反选、查找的操、按特定方式排序等操作。系统管管理员登陆此模块可以对用户信息进行维护。图20 用户信息图 21 用户详细信息4.3.5 系统管理设计最高级管理员通过此页面可以添加新的管理员,并可以通过这个模块管理其他低
55、级管理员信息。在必要的情况下可以对其他地级管理员进行增删改查。图 22管理员信息4.4 数据库设计在开发设计数据库过曾中是最为关键的一步,数据库的设计可以说是整个项目的基础,万事开头难在设计数据库之前设计人员要充分了解企业的业务需求了解全部的表格进而去设计进一步的去规划表与表这间的关系是多对多、多对一、一对一还是继承的关系等。数据库设计的好坏将直接影响后续的开发,因为在开发过程中改数据库结构属于最大的忌讳所以在架构数据库之前要充分考虑好表的信息。4.4.1数据库概念设计由于数据库过于庞大表格逻辑繁复在论文中不一一列举在此举例说明。(1)用户信息管理模块的E-R图如下图所示:图 23 数据库管理
56、员信息(3)图书销售网、目录、订单、地址图书、 购物车 等部分数据信息。图 24 其它数据库信息4.4.2 数据库逻辑设计在本次开发过曾中涉与的用户表、订单表、目录表、物品表等。因为引进了Hibernate框架所以表示表之间的关系已将在配置文件中设计完毕,在查询的过曾中方便简洁。例:如用户d_user与订单d_order之间是一对多的关系,在查询d_user的过程中Hibernate可以通过事先建立好的用户与订单之间的关系通过简单的语句查出全部用户。第五章 系统实现5.1 系统架构在本次系统的开发中住要的架构思想是MVC架构在此基础上应用来当今主流的SSH框架。在JavaWeb设计与开发方面,
57、比较经典的架构为MVC架构“M”指的模型(Mode)。“模型”在开发过程中指的是持久层,再具体点说就是代码中的DAO(持久层),Service(业务层),Bean组件等,这些用于分析问题的逻辑关系和算法序列的表示体系都属于模型的畴。“V”指的是视图(View)在不同的领域所用的技术不同如:Jsp,PHP,Html都属于视图技术,是直接展现给用户的。在Java中使用的是Jsp页面,一种动态的页面技术。“C”指的是控制器(Control)。这种架构方法,将一个项目有条理的分成了三个部分,从而使开发过程中代码与代码之间的耦合度降低。在MVC架构的基础上,现今比较成熟稳定的框架技术是SSH。SSH是成
58、熟、稳定、开源的三大框架。S指的是Struct2,在针对MVC架构中Struct2框架扮演着控制器(control)的角色。在视图层与服务器交互的过程中由struct2来控制,它的底层技术是Servlet。第2个S指的是Spring这个开源框架。Spring充当的是一个容器的角色,在实例化Bean组件、调用Bean组件、实例化Service层时,都用Spring这个框架实例化并调用。Spring框架的出现大幅度降低了代码与代码之间的耦合性,在Spring框架中经典的是AOP(面向切面编程)与IOC控制反转。H指的是Hibernate ,这个框架主要服务于持久层。它的出现解决了繁琐的数据库查询工
59、作,直接重逻辑对象中调用查询数据即可。是一个智能化比较强的框架,处理不好会使服务器性能大大降低。5.1.1 系统架构图Struct2为控制器作为框架它对Servlet进行了封装,使得控制器运用起来更方便而且可以使得控制视图化。图25 SSH框架系统结构图Spring充当一个容器,包容了所有的bean组件、实体类,甚至Struct2与hibernate也包含在。在后续的调用实体类或是实例化实体类是都由spring这个管家来实现降低了代码与代码之间的耦合性。Hibernate数据库进行了封装使得在查询数据的过程总更加的简便。5.1.2 程序结构图图26 项目结构图 .ugSoft.dang.act
60、ion 文件夹:主要存放Struct2框架的响应代码是控制器部分。.ugSoft.dang.bean文件夹:主要存放跟中bean组件。图27 bean文件夹部分组价截图如图 购物车组件、购物车列表组件、异常处理组件、订单生成组件等。.ugSoft.dang.code 文件夹:用于验证码图片给的生成、密码的加密、验证码的验证等。.ugSoft.dang.cookie 文件夹:用于对cookie的各种操作如:生成cookie、删除cookie、设计cookie生成时间等操作。.ugSoft.dang.dao 文件夹:项目的持久层,整个项目的最底层用于和数据库之间数据的交互。.ugSoft.dang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年木材托盘经销协议模板
- 2024年度高效汽车运送协议范本
- 2024餐饮业操作人员劳动协议范例
- 2024项目协作委托详细协议模板大全
- 不动产过户协议样本 2024 年规范
- 跨境电商网店设计趋势
- 2024年家具定制协议范本综合指南
- 创新型企业知识产权保护服务协议范例
- 2024年度学生宿舍租赁协议样本
- 太阳课件模板教学课件
- 北科大岩石力学课件李长洪1.1岩石的力学性质(qiangdu).ppt
- 供应商QPA稽核点检表(线材)
- 资质挂靠协议
- 凸函数的性质及其应用
- 标记有丝分裂百分率法计算
- HCGE2P孕三项化验单模板
- QA软件过程检查单(XXJSTZPPQAChecklist)
- BA88半自动生化分析仪维修手册
- 各系统调试报告
- 英语人称代词-物主代词-名词所有格(共4页)
- 《质量管理体系文件》ISO9001_2015_中英文对照
评论
0/150
提交评论