基于SSH框架的Web网站设计与实现毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文(设计)
基于SSH框架的Web网站设计与实现
学生姓名:
指导教师:(讲师)
专业名称:通信工程
所在学院:信息工程学院
2013年6 月
目录
摘要 (I)
Abstract (II)
第一章前言 (1)
1.1 研究目的和意义 (1)
1.2 国内外研究现状 (1)
1.3 研究内容与方法 (1)
第二章可行性与需求分析 (3)
2.1可行性分析 (3)
2.2需求分析 (4)
第三章设计技术与系统运行环境 (7)
3.1设计技术 (7)
3.2系统运行环境 (16)
第四章系统设计 (17)
4.1 官网系统 (17)
4.2 图书出售系统 (18)
4.3 办公系统 (21)
4.4 数据库设计 (24)
第五章系统实现 (26)
5.1 系统架构 (26)
5.2 持久层Hibernate实现 (29)
5.3 控制层Struts实现 (30)
5.4 业务层Spring实现 (33)
第六章结论与建议 (36)
致谢 (37)
附录 (39)
摘要
本次毕业设计主要以电子商务为主题进行Web网站的设计与开发,在框架方面应用了现今比较主流的SSH框架。
设计背景以大连海洋大学出社为主题,并针对其进行设计与开发电子商务系统。
本次设计包括三个大模块分别为,后台管理OA系统、官网系统、图书出售系统,每个模块又包括了诸多小模块。
项目结构方面采用MVC架构大体上分为视图层、控制层、持久层,持久层细分为DAO层与业务层。
这种结构使得开发开发过程中逻辑清项目结构简明便于后期的功能扩展与二次开发。
技术方面在视图层采用的是Jsp页面技术,在此基础上部分页面引入Ajax请求。
服务器采用开源稳定的Tomcate服务器,数据库是MySQL。
具体的框架版本为Struct2、Hibernate3.3、Spring3.0,开发工具为Meclipse9。
关键词:Hibernate,Spring,Struct2,Java,数据库
Abstract
The 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 project 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)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 and 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 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)在不同的领域所用的技术不同如:Jsp,PHP,Html 都属于视图技术,是直接展现给用户的。
在Java中使用的是Jsp页面,一种动态的页面技术。
“C”指的是控制器(Control)。
这种架构方法,将一个项目有条理的分成了三个部分,从而使开发过程中代码与代码之间的耦合度降低。
[1]
1.1 研究目的和意义
应该说没有多少人怀疑计算机OA系统(自动化办公系统)的出现的意义。
计算机OA 系统的出现给办公人员带来了便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要将工作人员从繁琐的事务、业务逻辑、工作方式解放出来,用更多的精力去关注更重要的事情。
从而提高企业的效率、增强企业的综合竞争能力。
在这样办公方式下,企业的组织结构、工作职能,能够得到简化,各个部门在信息共有化的基础上进行协调工作,这样便于明确各个部门甚至细微到每个每个工作人员的责任,而领导层可以迅速综合采纳来自多方面的资讯信息,并以此为依据制定企业的发展方针。
从这个意义上讲,在市场竞争越来越据烈化的今天,办公自动化系统己经不再是一种单一的手段、而是一种工具,更成为决定企业未来发展,生存空间的命脉。
1.2 国内外研究现状
电子商务在现今信息飞速发展的今天有着举足轻重的地位,当今淘宝、当当网、银行服务系统、企业销售官网等都属于电子商务范畴。
[2]
电子商务的出现使得许多繁琐、逻辑性高、需要大量人力物力的工作可以通过远程网络的形式来处理解决。
大大减少了人力物力的投资,提高了工作效率。
1.3 研究内容与方法
在MVC架构的基础上,现今比较成熟稳定的框架技术是SSH框架。
SSH是成熟、稳定、开源的三大框架。
S的是Struct2,在针对MVC架构中Struct2框架扮演着控制器(Control)的角色。
在视图层与服务器交互的过程中由struct2来控制,它的底层技术是Servlet。
第二个S指的是Spring这个开源框架,Spring充当的是一个容器的角色在实例化Bean组件、调用Bean组件、实例化Service层实时,都用Spring这个容器统一实例化并调用。
Spring框架的出现大幅度降低了代码与代码之间的耦合度,在Spring框架中经典的是AOP(面向切面编程)与IOC控制反转。
H指的是Hibernate这个框架主要服务于持久层。
它的出现解决了繁琐的数据库查询工作,直接面对逻辑对象编程与查询更加体现出Java面向对象编程的特点。
Hibernate是一个智能化比较高的框架,使用不好会使服务器效率大大降低。
[3]
第二章可行性与需求分析
2.1可行性分析
1 组织和管理可行性
基于电子商务Web门户的办公自动化系统采用分模块的开发方式,将整个项目分为三个大系统,分别为图书出售系统,官网网站最新资讯系统,和后台的OA办公管理系统。
在三大系统的基础上又分为若干个模块,如:OA系统的,员工管理模块、官网管理模块、图书管理模块,图书出售系统,订单生成模块、分类浏览模块等。
2 经济可行性
所谓的经济可行性为在针对企业开发智能化办公系统的过程中,所投入的人力物力软件系统的前期花费,在后期软件的运营过程中是否能带来相应的效益、是否能给使用者带来方便、这工作人员从繁复的逻辑中解放出来从而获得更大的利益,提高工作效率。
3 技术可行性
在针对企业的切实业务开发过程中,视图界面的制作时通过现有的功能全面、强大的Dream weaver开发制作。
在整体布局上强调的是简洁、美观、大方、功能全面和操作的简易可行。
服务器采用的是稳定开源的Tomcate服务器。
在针对中小型企业开发过程中Tomcate 服务器可以完美的兼容开发程序。
数据的处理采用的是Mysql数据库,也是一款开源稳定的数据库,兼容多种语言而且速度非常快。
采用的是经典的MVC架构。
框架方面引进的是SSH框架是当今javaEE web开发中主流的框架。
在MVC架构的基础上,现今比较成熟稳定的框架技术是SSH。
SSH是成熟、稳定、开源的三大框架。
S指的是struct2,在针对MVC架构中Struct2框架扮演着控制器(control)的角色。
在视图层与服务器交互的过程中由Struct2来控制,它的底层技术是Servlet。
第2个S指的是Spring这个开源框架。
Spring充当的是一个容器的角色,在实例化Bean组件、调用Bean组件、实例化Service层时,都用Spring这个框架实例化并调用。
Spring框架的出现大幅度降低了代码与代码之间的耦合性,在Spring框架中经典的是AOP(面向切面编程)与IOC控制反转。
H指的是Hibernate,这个框架主要服务于持久层。
它的出现解决了繁琐的数据库查询工作,直接从逻辑对象中调用查询数据即可。
是一个智能化比较强的框架,处理不好会使服务器性能大大降低。
2.2需求分析
2.2.1 官网系统功能分析
企业网站不仅代表着企业的网络品牌形象,同时也是开展网络营销的根据地,网站建设的水平对网络营销的效果有直接影响。
企业网站的功能主要表现在八个方面:品牌形象、产品/服务展示、信息发布、顾客服务、顾客关系、网上调查、网上联盟、网上销售。
2.2.2图书出售系统分析
1业务流程
图1网购基本流程图
2 图书出售功能分析
(1)用户身份验证模块(登陆模块)
计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。
通过登录的方式对用户的身份进行验证,以便于系统确定用户的身份更好的为用户服务。
(2)用户注册模块
通过注册获取用户的信息,并给与用户一定的权限.为后续的系统服务提供具体的对象。
(3)图书浏览、购书模块
根据不同的需求,提供给客户部同的浏览方式。
包括图书查询、分类浏览,按时间浏览等,用户想购买的图书可以添加到购物出付款,购买信息将根据用户信息进行绑定。
(4)购物车模块
该模块可以将出版图书集中付款、批量删除、修改图书数量、结算。
同一用户登陆时
可以恢复购物车,未结算商品可以继续结算并且结算后购物车清空。
(5)订单生成模块
根据用户的具体信息生成订单,并与用户的唯一信息(id)进行绑定。
在生成订单过程中用户可以自由的决定是否保留本次的订单地址。
(6)我的信息模块
该模块中购物网用户可以清洗直观的,看到自己的个人信息、订单、地址,并提供对这些信息的修改、增加、删除、查找等操作。
2.2.3 OA商务管理系统功能分析
1 业务流程:
OA该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。
业务流程图如图所示:
图2 OA系统业务流程图
2 后台OA商务管理系统功能分析
OA后台管理系统如下:
(1)管理员登陆模块
对用户进行身份验证,由于是后台OA办公系统只有管理员身份有权限登陆。
进行身份验证后,可以进行对官网的维护等信息操作。
(2)用户信息管理模块
可以查看全部用户的信息,修改部分用户的信息。
便于管理员管理维护购书网系统的用户信息。
(3)订单信息管理模块
提供用户订单的增加、删除、修改等必要的工作。
提供订单的分类浏览操作如:按生成时间排序、按是否成交排序等操作。
(4)员工信息管理模块
该模块提供对员工的增加、删除、修改等必要的工作。
工资新宿调整、人员的调度、部门的更换的操作。
(5)官网管理模块
对企业官网的信息进行动态的维护。
如新闻的发布、文件的上传、文件的下载、最新注意事项、视频的上传。
(6)图书管理模块
该模块提供图书的管理、上架、下架、新图书发行、图书信息浏览等操作。
主要用于管理图书销售网图书的发行、发售、上架,和图书的分类级热销图书模块、编辑推荐模块的图书维护。
第三章设计技术与系统运行环境
3.1设计技术
1 页面技术(JSP)
(1)Jsp是什么?
JavaServerPage(Ava服务器端页面技术)Sun公司制订的一种服务器端动态页面生成技术的规范,在Jsp技术当中,只需要在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():
step2:执行Servlet的Service方法。
2 JavaBean组件技术
JavaBean是一种Java类,它遵从一定的设计模式,使它们易于和其他开发工具和组件一起使用。
JavaBean是一种Java语言写成的可重用组件。
为写成JavaBean,类必须是具体的类和公共的类,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。
[4]
3 Servlet技术
(1)什么是Servlet?
Sun公司制订的一种用于扩展Web服务器功能的组件规范,扩展Web服务器功能。
早期的web服务器(比如apache web server,is)只能够处理静态资源的请求(需要事先将页面文件写好,并存放到服务器特定的目录下面),不能够处理动态资源的请求即依据请求参数,通过计算,生成一个新的页面)。
扩展方式,早期是使用CGI程序来扩展:CGI (common gateway interface),CGI是一个规范,约定了Web服务器与CGI程序(使用Perl,C等语言开发的,并且符合CGI规范的程序)相互调用的过程。
CGI程序有三个问题:a,
开发比较复杂(需要开发人员去解析请求参数);b,可移值性比较差(C,Perl等语言依赖于平台);c,性能问题(一个请求,会启动一个进程,进程的开销比较大)。
现在,可以使用Servlet来扩展。
[5]
(2)Servlet是如何运行的?
在浏览器地址栏输入http://localhost:8080/项目名/访问路径
Step1:浏览器依据Ip,Port建立与服务器之间的连接。
Step2:浏览器将请求数据(请求资源路径,请求参数)按照http协议,打包(http请求数据包),发送给服务器。
Step3:服务器解析请求数据包,将请求数据封装到Request对象里面(封装的目的,是为了方便Servlet获得请求数据包中的数据,如果没有Request对象,就需要在Servlet类里面编写、解析请求数据包的代码)。
另外,服务器还会创建一个对象Response对象(用来存放servlet处理的结果)。
[6]
Step4,服务器依据请求资源路径(web01/sayHello)找到对应的Servlet的配置,创建Servlet对象。
Step5,服务器会调用Servlet对象的Service方法(在调用该方法时,会将事先创建好的Request,Response对象作为参数传递进来)。
可以在Service方法里面,通过Request获得请求数据,也可以将处理之后的结果存放到Response对象上。
Step6,服务器从response对象上取出处理结果,生成响应数据包。
发送给浏览器。
Step7,浏览器解析响应数据包,取出处理结果,生成相应的界面。
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 :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包中。
Default.properties:框架内置配置,定义了一些框架系统参数例如框。
架处理字符的编码,请求类型等.在struts-core.jar包中。
5)Action基本配置:
a.<package>元素,可以有多个,用于定义一组action。
name属性:指定package名称,多个package时不能重名。
extends属性:指定继承哪个package,通常指定为"struts-default"。
namespace属性:指定请求的前缀,默认"/".避免请求名相同时冲突。
b.<action>元素,可以有多个.用于定义具体某一个Action组件。
name属性:指定该Action对应的请求名。
class属性:指定Action组件的包名.类名。
method属性:指定调用Action组件的哪个方法.默认为execute。
c.<result>元素,可以有多个,用于定义某一个响应视图。
name属性:指定视图标识符,与action业务方法返回值相关。
5 Hibernate3.0技术
(1)Hibernate框架作用
Hibernate框架主要是用于实现数据库操作.简化数据库的增删改查原有数据库操作使用JDBC技术,具有以下问题:a.编写复杂的Sql语句;b.需要编码完成实体对象与数据库记录之间映射。
c.数据库移植性较差,例如不同数据库分页查询不同。
为了解决上述问题,产生一种解决方案ORM:ObjectRelationMapping对象关系映射。
实现Java对象与关系数据,表数据之间的映射。
[7]
(2)Hibernate框架原理
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)用于定义数据库连接参数和hibernate框架配置参数。
[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():按主键值查询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.此外还提供了Spring的MVC实现。
f.JEE模块
主要提供整合JavaEE服务一些支持。
例如JMS消息服务Email邮件发送服务EJB等。
[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中配置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支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY支持当前事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED如果当前存在事务,则在嵌套事务内执
行。
如果当前没有事务,则进行与REQUIRED类似的操作。
拥有多个可以回滚的保存点,内部回滚不会对外部事务产生影响。
只对DataSourceTransactionManager有效。
(4)Spring中AOP实现原理(动态代理技术)
当使用AOP切入后,目标对象返回时,返回的是Spring容器采用动态代理机制生成一个类型.Spring提供了两种生成方式:1采用JDK中提供的Proxy,为有接口定义的Bean组件提供public class $Proxy0 implements ,原目标对象接口接口类型变量= (接口类型)$proxy0对象。
2采用CGLIB工具包,为无接口定义的Bean组件提供public class $Proxy0 extends 目标类型目标类型变量= (目标类型)$Proxy0对象。
[10]
7 MVC技术
图5 MVC架构示意图
在JavaWeb设计与开发方面,比较经典的架构为MVC架构“M”指的模型(Mode)。
“模型”在开发过程中指的是持久层,再具体点说就是代码中的DAO(持久层),Service (业务层),Bean组件等,这些用于分析问题的逻辑关系和算法序列的表示体系都属于模型的范畴。
“V”指的是视图(View)在不同的领域所用的技术不同如:Jsp,PHP,Html 都属于视图技术,是直接展现给用户的。
在Java中使用的是Jsp页面,一种动态的页面技术。
“C”指的是控制器(Control)。
这种架构方法,将一个项目有条理的分成了三个部分,从而使开发过程中代码与代码之间的耦合度降低。
[11]
(2)MVC好处和工作流程
好处是:程序组件便于管理,便于日后维护和扩展。
a.首先由视图V发出请求。
b.请求交给控制器C。
c.控制器C调用模型M。
d.控制器C调用视图V响应。
(3)在JavaWeb中可以实现MVC结构的技术组合
方案一:JSP+Servlet+JavaBean。
方案二:JSP+Filter+JavaBean
(4)改造控制器,提高通用性和灵活性
a.客户端发送请求,请求到达控制器。
b.控制器解析一个XML配置文件(定义请求和Action组件对应关系)。
c控制器调用与当前请求对应的Action。
d Action可以调用DAO完成数据库操作。
e控制器调用一个JSP视图为客户端响应。
[12]
8 Ajax 技术
(1)Ajax,有什么作用
全称Asynchronous JavaScript And XML异步的JavaScript和XML。
Ajax可以解决传统Web程序的一些弊端,提升用户使用系统体验度。
传统Web程序,采用下面工作模式。
用户发送请求-->等待服务器处理-->页面响应。
传统Web程序出现问题如下:a.用户在等待处理阶段,什么都不能做.无法进行下一步操作,连续性不强。
b.整个页面刷新,处理中,需要很多数据。
参与客户端和服务器的传输。
(2)Ajax原理和使用步骤
Ajax原理:利用浏览器内置的XMLHttpRequest对象采用异步/同步方式发送HTTP请求,服务器处理完毕,返回XML/Text数据给XMLHttpRequest对象,之后调用事前注册的回调函数将数据,显示到HTML页面。
使用步骤:a.客户端程1创建XMLHttpRequest对象。
2利用XMLHttpRequest对象创建和发送请求。
3调用事先注册的回调函数,处理服务器响应数据。
b.服务器端程序Servlet、JSP 返回的数据为XML或Text格式。
(3)XMLHttpRequestAjax示例
获取XMLHttpRequest对:IE5-->ActiveXObject、其他-->XMLHttpRequest。
注册界面用户名唯一性检查。
(4)XMLHttpRequest对象使用
函数:open(type,url,[asyn]):创建一个HTTP请求。
type:指定请求类型,例如"get","post"等。
Url:指定请求地址、asyn:指定请求是同步还是异步,true表示异步(不写时默认为true)。
send(data):发送HTTP请求,data:指定请求参数.如果请求为get,使用null值。
事件:onreadystatechange事件,利用该事件绑定一个回调函数,处理服务器返回的数
据。
当readyState属性值发生改变时,执行处理。
[13]
属性:readyState 指的是请求处理状态。
0:请求未初始化,未执行open函数。
1:请求初始化完毕,未发送.未执行send函数。
2:请求已发送.执行了send函数。
3:请求处理中,服务器Servlet正在处理。
4:请求处理完毕。
Status指的是HTTP处理状态码。
200:正确处理完毕、404:找不到对应资源、500:找到资源,内部运行出错。
esponseText :获取服务器返回的Text内容。
注意:该属性在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-www-form-urlencoded):xhr.send
("key1=value1&key2=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服务器Tomcat
Tomcat作为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。
(JakartaTomcat服务器是在SUN公司的JSWDK(javaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目,在OpenSource的模型下进行进一步的开发。
它不但支持运行Servlet和JSP,而且还具备了作为商业Java Web应用容器的特征。
)Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
图7 Tomcate服务器示意图。