最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IDEA創(chuàng)建web service項目并打包部署到Tomcat

 更新時間:2023年05月26日 11:16:39   作者:單手入天象  
本文主要介紹了IDEA創(chuàng)建web service項目并打包部署到Tomcat,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

實現(xiàn)的效果

  • 通過 IDEA 創(chuàng)建一個簡單的 web service 項目
  • 用測試類運行這個 web service 項目
  • 通過 IDEA 把 web service 項目打成 war 包
  • web service 項目部署到 Tomcat
  • 訪問 web service 服務(wù)頁面
  • 編寫一個 web service 客戶端(生成 web service 服務(wù)代碼)
  • 客戶端調(diào)用 web service 接口

一、創(chuàng)建 web service 項目

IDEA 創(chuàng)建項目,選擇 Java 項目,Next

填寫你的項目名字

Finish 后創(chuàng)建一個空項目

右鍵項目包名,選擇 Add Framework Support

勾選 WebServices,選擇 Download

等待一會,項目就變成這樣,lib 下就會有需要的包

里面已經(jīng)自動給我們創(chuàng)建了一個模板例子了,我們不管他的例子,刪除掉,下面用我寫的這個 demo

我的 demo 項目很簡單,只有這幾個文件

Hello 類代碼:

package service;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService()
public class Hello {
  // 對外提供的接口 1
  @WebMethod
  public String sayHello(String from) {
    String result = "李啟業(yè) " + from;
    System.out.println("接口被調(diào)用啦");
    return result;
  }
  // 對外提供的接口 2
  @WebMethod
  public String test(String from) {
    String result = "測試接口 " + from;
    System.out.println("接口被調(diào)用啦");
    return result;
  }
}

sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
    <!-- 注意這里: -->
    <!-- implementation 必須對上你寫的帶@WebService的類的路徑 -->
    <!-- url-pattern 指定的就是這個 web service 的接口地址 -->
    <!-- 例如:這個項目最終打包成 webservice.war,訪問地址就是 http://localhost:8080/webservice/hello -->
    <endpoint
            name="Hello"
            implementation="service.Hello"
            url-pattern="/hello"/>
</endpoints>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- 如果用 tomcat 直接部署 web service ,這個文件好像沒什么用,它是創(chuàng)建 web service 項目自帶的,我沒有去修改它 -->
    <listener>
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    </listener>
    <servlet>
        <description>JAX-WS endpoint</description>
        <display-name>WSServlet</display-name>
        <servlet-name>WSServlet</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>WSServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
</web-app>

TestServer 類代碼

package service.test;
import service.Hello;
import javax.xml.ws.Endpoint;
/**
 * @author liqiye
 * @description 用來測試運行 web service 服務(wù)的
 * @date 2023/2/21
 */
public class TestServer {
    public static void main(String[] args) {
        Object implementor = new Hello();
        // 這個地址在這里測試用什么都可以,只是我想要剛好對上等下用tomcat部署的連接
        String address = "http://localhost:8080/webservice/hello";
        Endpoint.publish(address, implementor);
    }
}

到這里,web service 項目的服務(wù)端就開發(fā)好了!

二、測試類運行 web service 服務(wù)端

上面代碼的 TestServer 就是我們的測試類,直接運行它

訪問連接:http://localhost:8080/webservice/hello

看到下面的頁面,證明 web service 項目啟動成功:

三、IDEA 打包 web service 項目

注意上面代碼中的 sun-jaxws.xml 文件,我在上面已經(jīng)做了注釋,url-pattern 指定的是部署后對外的接口

配置項目的 Artifacts,先選 Web Application Exploded

然后再選 Web Application Archive

點擊 IDEA 上面的 Build — Build Artifacts

生成 out 目錄,里面已經(jīng)有打好的 war 包了

四、web service 項目部署到 Tomcat

上面我們已經(jīng)打包好了 war,要部署到 Tomcat

啟動 Tomcat,然后把這個 war 包放進去 /webapps 等待解壓部署即可。

訪問地址和剛才用測試類啟動的連接是一樣的: http://localhost:8080/webservice/hello

看到的頁面也是一樣

五、web service 客戶端

我們已經(jīng)完成 web service 的部署,也訪問到了首頁,那我們怎么調(diào)用剛才里面的 Hello 接口呢?

我們通過編寫一個java程序作為客戶端,去調(diào)用剛才的接口!

創(chuàng)建一個空白項目:

進去到 liqiye 目錄,打開cmd,用 jdk 提供的命令,連接目標 web service 服務(wù)生成對應的調(diào)用代碼

wsimport -s . http://localhost:8080/webservice/hello?wsdl

注意:web service 服務(wù)地址后面必須帶上 ?wsdl

然后發(fā)現(xiàn)項目目錄下自動生成了如下代碼:

編寫客戶端的測試類:

package com.liqiye.client;
import service.HelloService;
import service.Hello;
public class TestClient {
    public static void main(String[] args) throws Exception {
        //構(gòu)建服務(wù)視圖對象(從service標簽name屬性獲?。?
        HelloService service = new HelloService();
        //獲取服務(wù)的實現(xiàn)類(從portType的name屬性獲取
        Hello hello = service.getPort(Hello.class);
        //調(diào)用方法(portType下的operation屬性獲取
        String info = hello.sayHello("你好");
        System.out.println("調(diào)用服務(wù)端接口方法結(jié)果是:"+info);
        String info2 = hello.test("你好");
        System.out.println("調(diào)用服務(wù)端接口方法結(jié)果是:"+info2);
    }
}

執(zhí)行這個測試類,看到已經(jīng)成功調(diào)用 web service 的接口:

總結(jié)

到此這篇關(guān)于IDEA創(chuàng)建web service項目并打包部署到Tomcat的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建web service內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Centos環(huán)境下Tomcat虛擬主機配置詳細教程

    Centos環(huán)境下Tomcat虛擬主機配置詳細教程

    這篇文章主要講的是在 CentOS 系統(tǒng)上,如何一步步配置 Tomcat 的虛擬主機,內(nèi)容很簡單,從目錄準備到配置文件修改,再到重啟和測試,手把手帶你搞定,需要的朋友可以參考下
    2025-03-03
  • 一文詳解tomcat是如何處理HTTP長連接的

    一文詳解tomcat是如何處理HTTP長連接的

    HTTP長連接,也稱為持久連接,是一種使用同一個TCP連接來發(fā)送和接收多個HTTP請求/應答的方法,那么tomcat作為最常用的WEB容器,是怎么處理HTTP的長連接呢,下面我們就來深入了解下吧
    2024-01-01
  • 詳解Tomcat常用的過濾器

    詳解Tomcat常用的過濾器

    過濾器Filter是定義于tomcat的servlet-api.jar中的一個接口,接口路徑為javax.servlet.Filter。tomcat過濾器采用了典型的過濾器設(shè)計模式,過濾器鏈FilterChain由tomcat維持,鏈條是可以支持多個過濾器的
    2021-06-06
  • 利用systemctl管理Tomcat啟動、停止、重啟及開機啟動詳解

    利用systemctl管理Tomcat啟動、停止、重啟及開機啟動詳解

    這篇文章主要給大家介紹了關(guān)于利用systemctl管理Tomcat啟動、停止、重啟及開機啟動的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習學習價值,需要的朋友們下面來一起看看吧。
    2017-10-10
  • tomcat?集群監(jiān)控與彈性伸縮詳解

    tomcat?集群監(jiān)控與彈性伸縮詳解

    這篇文章主要為大家介紹了tomcat?集群監(jiān)控與彈性伸縮詳解,
    2022-09-09
  • 教你如何測試Tomcat是否啟動成功

    教你如何測試Tomcat是否啟動成功

    這篇文章主要介紹了教你如何測試Tomcat是否啟動成功的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Tomcat?與?maven?的安裝與使用教程

    Tomcat?與?maven?的安裝與使用教程

    這篇文章主要介紹了Tomcat?與?maven?的安裝與使用,Tomcat?HTTP?服務(wù)器,按照?HTTP?協(xié)議的格式來解析請求,調(diào)用用戶指定的相關(guān)代碼,并且按照?HTTP?響應的格式來構(gòu)造返回數(shù)據(jù),需要的朋友可以參考下
    2022-06-06
  • Linux下Tomcat8.0.44配置使用Apr的方法

    Linux下Tomcat8.0.44配置使用Apr的方法

    下面小編就為大家?guī)硪黄狶inux下Tomcat8.0.44配置使用Apr的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • undertow、tomcat下臨時目錄tmp拋錯誤異常的解決

    undertow、tomcat下臨時目錄tmp拋錯誤異常的解決

    文章主要介紹了Spring Boot應用在上傳文件時遇到的`NoSuchFileException`錯誤,原因是系統(tǒng)臨時目錄被清理,通過手動指定臨時目錄或添加啟動參數(shù)`-java.tmp.dir`,可以解決這個問題
    2026-03-03
  • Tomcat9使用免費的Https證書加密網(wǎng)站的方法

    Tomcat9使用免費的Https證書加密網(wǎng)站的方法

    這篇文章主要介紹了Tomcat9使用免費的Https證書加密網(wǎng)站的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05

最新評論

忻城县| 靖西县| 改则县| 馆陶县| 巴彦淖尔市| 宣武区| 容城县| 乌鲁木齐市| 马山县| 栖霞市| 容城县| 孙吴县| 梓潼县| 新巴尔虎右旗| 黔西县| 东台市| 津南区| 万宁市| 马鞍山市| 尖扎县| 澄城县| 交城县| 鄂托克前旗| 上饶市| 和平县| 信阳市| 莆田市| 无锡市| 潍坊市| 兰坪| 康马县| 太仓市| 霸州市| 谢通门县| 邛崃市| 郸城县| 开鲁县| 临沭县| 垣曲县| 玉山县| 宁远县|