国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

IDEA創建web service項目并打包部署到Tomcat

瀏覽:3日期:2023-09-08 20:45:27
目錄實現的效果一、創建 web service 項目二、測試類運行 web service 服務端三、IDEA 打包 web service 項目四、web service 項目部署到 Tomcat五、web service 客戶端總結實現的效果通過 IDEA 創建一個簡單的 web service 項目用測試類運行這個 web service 項目通過 IDEA 把 web service 項目打成 war 包web service 項目部署到 Tomcat訪問 web service 服務頁面編寫一個 web service 客戶端(生成 web service 服務代碼)客戶端調用 web service 接口一、創建 web service 項目

IDEA 創建項目,選擇 Java 項目,Next

填寫你的項目名字

Finish 后創建一個空項目

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

勾選 WebServices,選擇 Download

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

里面已經自動給我們創建了一個模板例子了,我們不管他的例子,刪除掉,下面用我寫的這個 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 = '李啟業 ' + from; System.out.println('接口被調用啦'); return result; } // 對外提供的接口 2 @WebMethod public String test(String from) { String result = '測試接口 ' + from; System.out.println('接口被調用啦'); 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 ,這個文件好像沒什么用,它是創建 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 服務的 * @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 項目的服務端就開發好了!

二、測試類運行 web service 服務端

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

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

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

三、IDEA 打包 web service 項目

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

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

然后再選 Web Application Archive

點擊 IDEA 上面的 Build — Build Artifacts

生成 out 目錄,里面已經有打好的 war 包了

四、web service 項目部署到 Tomcat

上面我們已經打包好了 war,要部署到 Tomcat

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

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

看到的頁面也是一樣

五、web service 客戶端

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

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

創建一個空白項目:

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

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

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

然后發現項目目錄下自動生成了如下代碼:

編寫客戶端的測試類:

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

執行這個測試類,看到已經成功調用 web service 的接口:

總結

到此這篇關于IDEA創建web service項目并打包部署到Tomcat的文章就介紹到這了,更多相關IDEA創建web service內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Tomcat
主站蜘蛛池模板: 艹美女视频 | 午夜影院a | 中文字幕亚洲欧美 | 国产欧美日韩另类 | 2021国产成人精品久久 | 成人老司机深夜福利久久 | 毛片a区| 国产精品一区在线播放 | 日本一级高清不卡视频在线 | 97在线观看成人免费视频 | 玖玖精品在线视频 | 欧美日本免费观看αv片 | 天堂色网站| 国产亚洲精品日韩已满十八 | 偷偷操不一样的久久 | 日本在线资源 | 美女张开大腿让男人桶 | 国产精彩视频在线观看 | 国产在线爱做人成小视频 | 成年女人毛片免费播放视频m | 欧美在线视频免费观看 | 成年人免费在线观看网站 | 国内外成人免费在线视频 | 姐姐真漂亮在线视频中文版 | 成人免费小视频 | 久久精品国内一区二区三区 | 毛片看看| 最新国产午夜精品视频不卡 | 91九色精品国产免费 | 久久精品国产99久久72 | 国产玖玖在线 | 国产欧美专区在线观看 | 欧美精品成人 | 国产在线更新 | 性刺激免费视频观看在线观看 | 国产午夜精品久久久久小说 | 美女张开腿男人桶 | 国产一区亚洲欧美成人 | 日韩欧美一区二区三区不卡视频 | 久久成年人 | 中国a级淫片免费播放 |