1、航空订票系统开发说明文档航空订票系统开发说明文档V1.0姓名:张敬 学号:12031217901 开发环境搭建过程1.1 软件下载开发环境所使用的软件名称及其版本信息如下表所示:软件名称版本信息JDKjdk1.7.0_01Tomcat6.0.35MyEclipse10.0Axis2axis2-1.6.2-binaxis2-1.6.2-waraxis2-eclipse-codegen-plugin-1.6.2axis2-eclipse-service-plugin-1.6.21.2 搭建环境1. 安装JDK; 环境变量配置如下图1-1: (1)JAVA_HOME:新建一个变量名JAVA_HOME
2、,并把变量值写成 C:Program FilesJavajdk1.7.1(装JDK时的路径); (2)配置PATH: 在系统变量里编辑一个变量名Path,并在其末尾处添加.;%JAVA_HOME%bin (3)配置CLASSPATH:在环境变量里新建一个变量名CLASSPATH并将变量写成.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar 图1-12. 安装并配置Tomcat相关参数; 将tomcat压缩文件apache-tomcat-6.0.35.zip中的内容解压缩到D:apache-tomcat-6.0.35下,然后安装配置jdk环境变量的方法配
3、增加系统变量。变量名:TOMCAT_HOME;变量值:D:apache-tomcat-6.0.35。然后修改系统变量CLASSPATH添加%TOMCAT_HOME%commonlibservlet-api.jar;同时修改系统变量Path,添加%TOMCAT_HOME%bin3. 安装MyEclipse,并在其中配置JDK和Tomcat相关参数;4. 将axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2放至Myeclipse安装目录下的dropins子目录(D:worksoftmyeclipsedropin
4、s),启动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. 创
5、建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文件: 右键工程名shopNew-Other-Axis2 Wizards-Axis2 Code Generator,根据向导一步步填写相关信息(利用MyEclip
6、se提供的自动提示功能); 选择由java代码生成WSDL文件选择java代码编译过的class文件生成WSDL文件的相关信息保持默认即可输出路径和命名:在工程名上点击F5刷新即可看到刚生成的list.wsdl2. 发布服务: 右键工程名shop-New-Other-Axis2 Wizards-Axis2 Service Archiver根据向导一步步填写相关信息(利用MyEclipse提供的自动提示功能)。中间过程截图以略去。最后生成list_service.aar文件,将文件放在D:worksoftapache-tomcat-6.0.35webappsaxis2WEB-INFservice
7、s打开浏览器就可以看到服务已经发布成功页面3 客户端实现3.1 生成客户端代码右键工程名shopNew-Other-Axis2 Wizards-Axis2 Code Generator,根据向导一步步填写相关信息(利用MyEclipse提供的自动提示功能); 选择由WSDL文件生成客户端代码生成客户端代码的相关位置最后生成后,按F5刷新即可,如有错误,可能缺失jar包,引入即可。3.2 客户端代码调用本系统采用MVC模式,C(控制层)采用Servlet负责转向和业务调用。生成的客户端调用放在Servlet(QueryCl.java)中,代码如下图所示:V(视图层)采用简单的一个JSP页面呈现,
8、主要分为两部分,其中一部分是用户查询界面,采用表单实现,包括出发时间、出发地点和目的地输入框以及提交按钮;另外一部分为订购航班结果界面。查询页面:为简单起见,只提供北京,上海,西安,广州,四个城市之间航班预定,而且时间限制在2012-10-1。如果时间不是2012-10-1将会转到error.jsp并给出提示错误信息;如果查询城市超出上述四个城市,则转向listnull.jsp提示不提供预定服务。订票页面:查询结果将在result.jsp中显示,并提供订票服务。订票成功将转向order.jsp,并显示总票价。4 运行结果截图页面如下图所示:查询页面查询结果订票成功页面5 总结 通过这次作业主要
9、了解了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文件下。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1