您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > axis2之webservice新手超详细教程
AXIS2之WEBSERVICE新手超详细教程---------------尚明Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的RESTWebService,同时还支持Spring、JSON等技术,本教程是主要阐述如何构建一个基本的Axis2webservice应用,里面的许多环节高手可直接略过,本教程完全针对新手。一、环境安装安装myeclipse下载地址:安装mysql下载地址:安装mysql-workbench(mysql可视化工具)下载地址:安装tomcat下载地址:下载Axis2服务包下载地址:下载Axis2开发插件包下载地址:安装jdk下载地址:二、环境配置1)Java环境配置a)设置JAVA_HOME图1.图2设置JAVA_HOME=D:\ProgramFiles\Java\jdk1.6.0_10*D:\ProgramFiles\Java\jdk1.6.0_10为笔者本机的JDK安装目录,请开发者根据实际安装路径来填写,注意环境变量最后面不能加分号,D:\ProgramFiles\Java\jdk1.6.0_10;这么写是错误的。b)设置CLASSPATH图1设置CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar*要加.表示当前路径c)设置path设置path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin2)tomcat环境配置a)设置CATALINA_HOMECATALINA_HOME=F:\apache-tomcat-6.0.30*F:\apache-tomcat-6.0.30为笔者本机的JDK安装目录,请开发者根据实际安装路径来填写。b)测试Axis2服务包将axis2服务包(axis2.war)放入F:\apache-tomcat-6.0.30\webapps下点击F:\apache-tomcat-6.0.30\bin下的startup.bat文件在浏览器中输入若出现图中所示页面,那么说明axis2的服务包已经发布成功了;在F:\apache-tomcat-6.0.30\webapps目录下会自动生成一个axis2文件夹,这个留待后面的说明中一并叙述,下面继续配置。3)myeclipse环境配置a)配置axis2插件包将axis2插件包下的Axis2_Codegen_Wizard_1.3.0和Axis2_Service_Archiver_1.3.0文件夹拷贝至Myeclipse8.5\dropins目录下点击FileNewOther若出现图中2个高亮显示的插件名,那么说明Axis2开发插件已经安装成功。b)myeclipse下的tomcat配置点击WindowPreferences点击MyEclipseServersTomcat,选择ConfigureTomcat6.x按照图中所示配置tomcatc)myeclipse下的jre配置点击JavaInstalledJREs,点击Search按钮,选择D:\ProgramFiles\Java\jdk1.6.0_10路径(开发者根据实际路径自己调整)如图中所示进行配置,点击OK4)Mysql数据配置a)数据库安装配置实例配置时,笔者选择的是服务器。服务器字符集选择的是utf-8数据库连接设置为:用户名:root密码:123456b)测试数据库建立笔者采用的是可视化工具建库(mysql-workbench-gpl-5.2.37-win32)打开mysql-workbench点击图中标注的按钮,新建一个库新建库名为webservice新建student表,建表语句如下DROPTABLEIFEXISTS`student`;CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENT,`number`int(11)DEFAULTNULL,`name`varchar(45)DEFAULTNULL,`tel`varchar(45)DEFAULTNULL,`address`varchar(45)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8;LOCKTABLES`student`WRITE;INSERTINTO`student`VALUES(1,1,'小明','119','南京'),(2,2,'小郭','110','西藏'),(3,NULL,'坤哥','117','朝鲜');UNLOCKTABLES;双击左侧webservice库名,将其设为默认库,默认库的名字会加粗显示,如果不设置默认库,会影响下面的数据导入。将建表语句复制进来,执行;数据导入成功。三、正式开发1)服务端开发a)工程建立打开myeclipse点击NewWebProject新建一个Web工程新建工程名为myservice,一直默认执行。右键点击工程,右键菜单里选择Properties,将工程编码设置为UTF-8b)编写mysql数据库访问功能模块将mysql的连接驱动包(mysql-connector-java-5.1.7-bin.jar)拷贝至WebRoot\WEB-INF\lib下在src目录下新建一个database包,分别录入以下4个类,因为牵涉到jdbc封装类的开发,这里就不详细阐述,仅贴出源代码。(一)ConnectionFactory.java(连接工厂类)packagedatabase;importjava.sql.Connection;importjava.sql.DriverManager;importjava.util.ResourceBundle;/**类名:ConnectionFactorybr*作用:产生数据库连接对象br*属性:br*方法:ConnectiongetConnection()br*作用:返回数据库连接对象br*参数:无br*返回:数据库连接对象br*其它:返回的aConnection不会自动提交JDBC事务br*创建人:陶尚明br**/publicabstractclassConnectionFactory{/**数据库系统的属性文件名:*/privatestaticfinalStringpropertiesFileName=using_which_dbms;/**获取Connection对象**@returnConnection对象*@throwsExceptionSqlException异常*/staticsynchronizedpublicConnectiongetConnection()throwsException{StringdbSystem=null;ConnectionaConnection;ResourceBundledb=ResourceBundle.getBundle(dbsystem);//读取配置文件dbSystem=db.getString(propertiesFileName);ResourceBundlerb=ResourceBundle.getBundle(dbSystem);//读取配置文件Class.forName(rb.getString(database.driver)).newInstance();aConnection=DriverManager.getConnection(rb.getString(database.url),rb.getString(database.username),rb.getString(database.password));//创建aConnection对象aConnection.setAutoCommit(false);//设置不自动提交事务returnaConnection;//返回aConnection对象}/**当前使用的数据库系统名称**@paramechoable如果启用回显将在控制台输出描述当前数据库系统的信息*@returndbSystem数据库系统名称*/publicstaticStringgetCurrentDBMS(booleanechoable){StringdbSystem=null;ResourceBundlerb=ResourceBundle.getBundle(dbsystem);//读取配置文件dbSystem=rb.getString(propertiesFileName);if(echoable)System.out.println(thedatabasesystemwhatyouusingare+dbSystem);returndbSystem;}}(二)IOperationCore.java(数据库操作接口)/***数据库常用操作封装*/packagedatabase;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.Collection;/**类名:IOperationCorebr**作用:该接口封装了数据库操作的大部分方法br**创建人:陶尚明br*/publicinterfaceIOperationCore{/**sql更新语句**@paramqueryString查询语句*@return返回一个codeResultSet/code结果集**@exceptionSQLException*/ResultSetexecuteQuery(StringqueryString)throwsSQLException;/***sql更新语句**@paramupdateString数据库更新语句*@return更新数据库影响行数**@exceptionSQLException*/intexecuteUpdate(StringupdateString)throwsSQLException;/***读取行个数**@paramqueryString查询语句*@returnTransact-SQL查询后的虚拟表的行数**@exceptionSQLException*/intgetRowCount(StringqueryString)throwsSQLException;/***读取列数个数**@paramqueryString查询语句*@returnTransact-SQL查询后的虚拟表的列数**@exceptionSQLException
本文标题:axis2之webservice新手超详细教程
链接地址:https://www.777doc.com/doc-4795866 .html