Java开发webservice教程新手必备入门步骤及示例

admin java教程 3


大家好呀,我是兔子哥!最近好多学 Java 的新手朋友私信我,说想开发 webservice 但一头雾水 —— 工具不知道怎么选、步骤跟着教程走还是报错、写好的服务不知道怎么调用。别慌,今天这篇教程就专门针对 Java 新手,把入门步骤拆解开,再附上个完整示例,保证你看完能动手实操,一起往下看吧!

一、先搞懂:Java 开发 webservice 需要啥工具?


新手最容易在工具选择上踩坑,其实不用太复杂,这几个就够了:
  • JDK:必须是 1.8 及以上版本,太低的版本很多注解不支持哦。
  • 开发工具:Eclipse 或者 IDEA 都行,兔子哥习惯用 Eclipse,操作简单些。
  • 服务器:Tomcat 8.5,轻便又稳定,新手友好。
  • webservice 框架:Axis2,别选太新的版本,1.7.9 就够用,兼容性好。

二、环境搭建:3 步搞定基础配置


很多朋友卡在第一步,其实环境搭建不难,跟着做就行:
  1. 安装 JDK 并配置环境变量
    官网下载 JDK1.8,安装后右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”,新增 JAVA_HOME,路径填 JDK 安装目录;再在 Path 里加 “% JAVA_HOME%\bin”。怎么验证成功?打开 cmd 输入 “java -version”,能看到版本号就成。
  2. 部署 Axis2 到 Tomcat
    下载 Axis2 的 war 包,放到 Tomcat 的 webapps 目录下,启动 Tomcat 后,在浏览器输 “http://localhost:8080/axis2”,能看到 Axis2 页面就说明部署好了。
  3. 开发工具配置 Axis2
    在 Eclipse 里点 “Window”→“Preferences”→“Web Services”→“Axis2 Preferences”,选 Axis2 的安装目录,这样新建 webservice 项目时就有模板了。

三、实战示例:从零写一个 webservice 服务


光说不练假把式,咱们来写个简单的 “学生信息查询服务”,输入学号返回姓名和专业。

步骤 1:创建 Java 项目


打开 Eclipse,新建 “Dynamic Web Project”,项目名填 “StudentWebService”,Target runtime 选 Tomcat 8.5,勾选 “Generate web.xml deployment descriptor”。

步骤 2:写服务接口和实现类


先建个接口,代码大概这样:
java
public interface StudentService {String getStudentInfo(String studentId);}

再写实现类,记得加 @WebService 注解,这是告诉系统 “这是个 webservice 服务”:
java
import javax.jws.WebService;@WebServicepublic class StudentServiceImpl implements StudentService {@Overridepublic String getStudentInfo(String studentId) {// 模拟数据库查询if ("001".equals(studentId)) {return "学号:001,姓名:张三,专业:计算机科学";} else {return "未找到该学生信息";}}}

这里有朋友问:“为什么一定要加 @WebService 注解呀?” 因为 Java 需要这个注解来识别哪些类要发布成 webservice 服务,没加的话部署了也调用不了哦。

步骤 3:发布 webservice 服务


在 Eclipse 里右键项目→“New”→“Other”→“Web Services”→“Web Service”,在弹出的窗口里,Service implementation 选刚才写的 StudentServiceImpl 类,Web Service type 选 “Bottom up Java Bean Web Service”,服务器选 Tomcat,然后点 “Finish”。等部署完成,浏览器会自动打开服务地址,记下来后面要用。

四、调用服务:两种方法新手都能会


服务发布好了,怎么调用呢?给大家两种简单方法:
调用方式优点适合场景
Axis2 自带的测试页面不用写代码,直接测快速验证服务是否可用
Java 客户端调用能集成到自己的项目里实际开发中用得多

方法 1:用测试页面调用
打开服务地址,点 “StudentServiceImplService”→“getStudentInfo”,输入 studentId 为 “001”,点 “调用”,就能看到返回的学生信息啦。
方法 2:写 Java 客户端调用
新建个 Java 项目,用 wsimport 工具生成客户端代码。在 cmd 里输 “wsimport -s 项目 src 目录 服务地址?wsdl”,生成后在项目里写调用代码:
java
public class Client {public static void main(String[] args) {StudentServiceImplService service = new StudentServiceImplService();StudentService studentService = service.getStudentServiceImplPort();String result = studentService.getStudentInfo("001");System.out.println(result);}}

运行后控制台就能打印出学生信息,是不是很简单?

五、新手常踩的 3 个坑及解决办法


兔子哥整理了粉丝反馈最多的问题,提前避坑:
  1. 部署后服务地址打不开?检查 Tomcat 是否启动,Axis2 的 war 包是否解压成功,端口号有没有被占用(默认 8080,被占了就改 Tomcat 的 server.xml)。
  2. 生成客户端代码报错?看看服务地址后面是不是加了 “?wsdl”,网络有没有问题,服务是不是真的发布成功了。
  3. 调用时返回空值?检查参数名是不是和服务里的一致,字符串有没有多空格,注解是不是漏加了。

结尾心得


其实 Java 开发 webservice 没那么难,关键是环境搭对、步骤走顺,多动手练。兔子哥刚开始学的时候,光是环境变量就配错三次,后来发现只要耐心点,每步验证一下,很快就能上手。新手别害怕报错,报错了就看提示信息,大部分问题都是小细节没注意到。希望这篇教程能帮到你,赶紧找个时间跟着练一遍,有问题随时留言问我呀!

标签: StudentWebService Preferences

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~