java axis2初次接触
关于axis是什么,随便百度下就一大堆了,这里就不再重述了。
1.下载axis
这里使用的是axis1.6.2 要下载,请戳我
2.启动tomcat
下载完毕,把war放在tomcat的webapps下面,启动完毕,访问http://localhost:8080/axis2/
如果出现了上图,启动ok了
3.配置axis2
<Tomcat安装目录>/webapps/axis2/WEB-INF/conf/axis2.xml,配置其内两个属性,以便调试。
<span style="white-space:pre"> </span><parameter name="hotdeployment">true</parameter><!-- 开启热部署,不需要重启即可部署服务 -->
<span style="white-space:pre"> </span><parameter name="hotupdate">true</parameter><!-- 开启热更新,不需要重启即可更新服务 -->
4.编写服务
<span style="white-space:pre"> 所谓服务就是编写一个类,写一些方法,方法返回数据,WebService客户端获取数据。</span>
<span style="white-space:pre"> </span>写个很简单的类,比如
<span style="white-space:pre"> </span><pre name="code" class="java">public class HelloService {
public String sayHello() {
return "hello";
}
}
5.配置pojo发布服务
服务类创建好后,我们需要发布到服务器上,将HelloService.class放到<Tomcat安装目录>/webapps/axis2/WEB-INF/pojo下,pojo没有需要创建(即创建文件夹)。
tip:class文件,se项目在project的bin目录下,ee项目是class文件夹下面
再次访问http://localhost:8080/axis2/,点击server,你会发现多了一个东西
访问 Service EPR http://localhost:8080/axis2/services/HelloService 会发现页面输出正是我们的返回值
注意事项
1.POJO发布的类不能放在包里,既不能使用package关键字;
2.默认的发布目录是pojo,可以在<Tomcat安装目录>/webapps/axis2/WEB-INF/conf/axis2.xml中增加目录
<deployer extension=".class" directory="<要增加的目录名称>" class="org.apache.axis2.deployment.POJODeployer" />
tomcat默认的发布目录
3.webservice不能重名
要注意多个目录见WebService要唯一,否则会重名,重名后,先部署的会成功,后部署的会报错。
问题
直接class文件放在pojo下,不需要配置文件即可访问,但是,class不能有包名,这就和我们实际开发不符,有处理的方法嘛?