(十二) web服务与javaweb结合(3)

一、需求

  • 上一章节虽然将webservice和web项目绑定在了一起,但是还是不能共同一个端口,本章讲解webservice和web项目绑定且共同端口。

二、案例

  2.1  创建web工程,并引入依赖

  2.2   编写服务接口

package service;

import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

@WebService(targetNamespace="http://www/shyroke.com/")
public interface IFirst {

    @WebResult(name = "addResult")
    public int add(@WebParam(name = "x") int x, @WebParam(name = "y") int y);

}

  2.3  编写服务接口代理类

package service;

import javax.jws.WebService;

@WebService(endpointInterface="service.IFirst")
public class FirstDelegate implements IFirst{

    public int add(int x, int y) {
        return x+y;
    }

    
}

  2.4  在WEB-INF目录下建立并编写sun-jaxws.xml

<?xml version = "1.0"?>
<endpoints version="2.0"
    xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
    <endpoint name="first" implementation="service.FirstDelegate"
        url-pattern="/firstPort">
    </endpoint>

</endpoints>
  • 其中 url-pattern为浏览器浏览webserice服务的地址,implementation是服务接口的代理类

  2.5  配置web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>

    <listener>
        <listener-class>
            com.sun.xml.ws.transport.http.servlet.WSServletContextListener
        </listener-class>
    </listener>
    <servlet>
        <servlet-name>public</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>public</servlet-name>
        <url-pattern>/firstPort</url-pattern>
    </servlet-mapping>

</web-app>

  2.6  结果

  2.7  最后再生成客户端即可

原文地址:https://www.cnblogs.com/shyroke/p/7673916.html