jdk开发WebServer小栗子

新建包demo,在这个包下面编写小demo: JdkWebService.java

package demo;  
  
import javax.jws.WebParam;  
import javax.jws.WebService;  
import javax.xml.ws.Endpoint;  
  
@WebService 
public class JdkWebService {  
  
  public String doSomething(@WebParam(name="value", targetNamespace = "http://demo/", mode = WebParam.Mode.IN)String value) {  
    return "Just do it," + value + "!";  
  }  
     
  public static void main(String[] args) {  
    Endpoint.publish("http://localhost:8080/jdkwsdemo/demo.JdkWebService", new JdkWebService());  
  }  
} 

 cmd窗口切换到demo这个目录下,编译这个类

javac JdkWebService.java

切换到上一级,demo的同级目录,(因为这个Java文件中有package demo;这一行,所以要切换到包的目录)运行这个WebService

java demo.JdkWebService.class

浏览器访问demo中设置的url地址+?wsdl,本例子中是 http://localhost:8080/jdkwsdemo/demo.JdkWebService?wsdl

如果访问成功,则返回一个xml页面,截图如下:

到这儿,就说明WebService访问成功了。

---------------------------------------------------------------------------------------------------------------

如何发布一个Web服务: 
a,在类上添加@WebService注解 
(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中) 
b,通过EndPoint(端点服务)发布一个WebService 
(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于 javax.xml.ws.Endpoint包中) 
c,注: 
类上添加注解@WebService,类中所有非静态方法都会被发布; 
静态方法和final方法不能被发布; 
方法上加@WebMentod(exclude=true)后,此方法不被发布;

参考博客: https://blog.csdn.net/wuqianjing/article/details/80410057

原文地址:https://www.cnblogs.com/anningkang/p/11966203.html