1. 程式人生 > >(十二) web服務與javaweb結合(3)

(十二) web服務與javaweb結合(3)

pack ppi web工程 配置 time star con http ont

一、需求

  • 上一章節雖然將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  最後再生成客戶端即可

(十二) web服務與javaweb結合(3)