当前位置:文档之家› 航空订票系统开发说明文档

航空订票系统开发说明文档

航空订票系统开发说明文档V1.0
姓名:张敬学号:1203121790 1开发环境搭建过程
1.1 软件下载
开发环境所使用的软件名称及其版本信息如下表所示:
软件名称版本信息
JDK jdk1.7.0_01
Tomcat 6.0.35
MyEclipse 10.0
Axis2
axis2-1.6.2-bin
axis2-1.6.2-war
axis2-eclipse-codegen-plugin-1.6.2 axis2-eclipse-service-plugin-1.6.2
1.2 搭建环境
1. 安装JDK;
环境变量配置如下图1-1:
(1)JA V A_HOME:新建一个变量名JA V A_HOME,并把变量值写成C:\Program Files\Java\jdk1.7.1(装JDK时的路径);
(2)配置PATH:在系统变量里编辑一个变量名Path,并在其末尾处添加.;%JA V A_HOME%\bin
(3)配置CLASSPATH:在环境变量里新建一个变量名CLASSPATH并将变量写成.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar
图1-1
2. 安装并配置Tomcat相关参数;
将tomcat压缩文件apache-tomcat-6.0.35.zip中的内容解压缩到D:\apache-tomcat-6.0.35下,然后安装配置jdk环境变量的方法配增加系统变量。

变量名:TOMCAT_HOME;变量值:D:\apache-tomcat-6.0.35。

然后修改系统变量CLASSPATH添加%TOMCAT_HOME%\common\lib\servlet-api.jar;同时修改系统变量Path,添加%TOMCAT_HOME%\bin
3. 安装MyEclipse,并在其中配置JDK和Tomcat相关参数;
4. 将axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2放至Myeclipse安装目录下的dropins子目录(D:\worksoft\myeclipse\dropins),启动MyEclipse,自动安装;
将axis2.war包拷贝到Tomcat安装目录下的webapps子目录;
启动Tomcat服务器,打开浏览器,输入并访问地址,成功得到Axis2部署成功的信息。

如下图1-2所示。

图1-2
1.3 所遇问题
搭建过程中以及在在服务实现及部署时均遇到了一些问题。

下面简要介绍所遇问题及解决方法。

1.在使用Codegen插件来从WSDL文件生成代码后,代码出现错误。

解决方法:在工程中添加axis2的lib文件。

2.Jsp页面向servlet传值过程中可能出现乱码问题,可以配置一个过滤器。

即代码中的Filter类
2服务端服务实现部署
2.1 服务实现
1. 创建Web工程:
启动MyEclipse,File->New->Project->Web Project,Project name取名为shop;
2. 导入axis2库:
右键工程名shop->Build Path->Add External Archives…,导入axis2的所有jar 包;
3. 编写服务器端代码:
右键工程名shop->New->class如下图所示:
根据三个参数,返回飞机航班信息。

代码如下图所示:
2.2 服务部署
1. 生成WSDL文件:
右键工程名shop>New->Other->Axis2 Wizards->Axis2 Code Generator,根据向导一步步填写相关信息(利用MyEclipse提供的自动提示功能);
选择由java代码生成WSDL文件
选择java代码编译过的class文件
生成WSDL文件的相关信息保持默认即可
输出路径和命名:
在工程名上点击F5刷新即可看到刚生成的list.wsdl
2. 发布服务:
右键工程名shop->New->Other->Axis2 Wizards->Axis2 Service Archiver根据向导一步步填写相关信息(利用MyEclipse提供的自动提示功能)。

中间过程截图以略去。

最后生成list_service.aar文件,将文件放在D:\worksoft\apache-tomcat-6.0.35\webapps\axis2\WEB-INF\services打开浏览器就
可以看到服务已经发布成功页面
3客户端实现
3.1 生成客户端代码
右键工程名shop>New->Other->Axis2 Wizards->Axis2 Code Generator,根据向导一步步填写相关信息(利用MyEclipse提供的自动提示功能);选择由WSDL 文件生成客户端代码
生成客户端代码的相关位置
最后生成后,按F5刷新即可,如有错误,可能缺失jar包,引入即可。

3.2 客户端代码调用
本系统采用MVC模式,C(控制层)采用Servlet负责转向和业务调用。

生成的客户端调用放在Servlet(QueryCl.java)中,代码如下图所示:
V(视图层)采用简单的一个JSP页面呈现,主要分为两部分,其中一部分是用户查询界面,采用表单实现,包括出发时间、出发地点和目的地输入框以及提交按钮;另外一部分为订购航班结果界面。

查询页面:为简单起见,只提供北京,上海,西安,广州,四个城市之间航班预定,而且时间限制在2012-10-1。

如果时间不是2012-10-1将会转到error.jsp 并给出提示错误信息;如果查询城市超出上述四个城市,则转向listnull.jsp提示不提供预定服务。

订票页面:查询结果将在result.jsp中显示,并提供订票服务。

订票成功将转向order.jsp,并显示总票价。

4运行结果截图
页面如下图所示:
查询页面
查询结果
订票成功页面
5总结
通过这次作业主要了解了MVC框架和webservice的部署。

关于MVC:
M是指数据模型,V是指用户界面,C则是控制器。

使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

比如一批统计数据你可以分别用柱状图、饼图来表示。

C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

本系统采用了Servlet为控制器,jsp界面负责显示的mvc。

关于webservice:
WebService是一个使用组件,它逻辑性的为其他使用程序提供数据和服务。

实现了服务和具体实现相分离。

Web服务部署主要分为两类:
1. 最简单的一种方式是Java Web Service,即JWS。

Axis允许把普通Java类的源文件的扩展名改为.jws,然后把它简单的copy到AXIS_HOME下。

这样,Axis会自动编译.jws文件,并把它加入到Java Web Servie。

2.使用wsdd(Web Service Deployment Descriptor,Web服务发布描述符)文件来发布Web Service。

通过wsdl描述服务,将服务打成arr包的形式,将他放到AXIS_HOME下的service文件下。

相关主题