午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

填寫你的項(xiàng)目名字

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

右鍵項(xiàng)目包名,選擇 Add Framework Support

勾選 WebServices,選擇 Download

等待一會,項(xiàng)目就變成這樣,lib 下就會有需要的包

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

我的 demo 項(xiàng)目很簡單,只有這幾個(gè)文件

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 指定的就是這個(gè) web service 的接口地址 --> <!-- 例如:這個(gè)項(xiàng)目最終打包成 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 ,這個(gè)文件好像沒什么用,它是創(chuàng)建 web service 項(xiàng)目自帶的,我沒有去修改它 --> <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 用來測試運(yùn)行 web service 服務(wù)的 * @date 2023/2/21 */public class TestServer { public static void main(String[] args) {Object implementor = new Hello();// 這個(gè)地址在這里測試用什么都可以,只是我想要?jiǎng)偤脤ι系认掠胻omcat部署的連接String address = 'http://localhost:8080/webservice/hello';Endpoint.publish(address, implementor); }}

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

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

上面代碼的 TestServer 就是我們的測試類,直接運(yùn)行它

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

看到下面的頁面,證明 web service 項(xiàng)目啟動(dòng)成功:

三、IDEA 打包 web service 項(xiàng)目

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

配置項(xiàng)目的 Artifacts,先選 Web Application Exploded

然后再選 Web Application Archive

點(diǎn)擊 IDEA 上面的 Build — Build Artifacts

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

四、web service 項(xiàng)目部署到 Tomcat

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

啟動(dòng) Tomcat,然后把這個(gè) war 包放進(jìn)去 /webapps 等待解壓部署即可。

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

看到的頁面也是一樣

五、web service 客戶端

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

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

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

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

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

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

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

編寫客戶端的測試類:

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標(biāo)簽name屬性獲取)HelloService service = new HelloService();//獲取服務(wù)的實(shí)現(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í)行這個(gè)測試類,看到已經(jīng)成功調(diào)用 web service 的接口:

總結(jié)

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

標(biāo)簽: Tomcat
主站蜘蛛池模板: 欧美久久久久久久久久久久 | 欧洲精品一区二区 | 久久久久黄色片 | 日本黄色视 | 91成人精品一区在线播放 | 黄页网站在线播放 | 一区二区三区视频在线免费观看 | 丰满白嫩尤物一区二区 | 欧美一级片免费观看 | 黑人巨大精品欧美一区二区免费 | 免费av播放| 亚洲 欧美 日韩 综合 | 成人v精品蜜桃久一区 | 亚洲私人影院 | 婷婷色图 | 2019亚洲天堂 | 欧美成人小视频 | 奇米影视久久 | 国产精品久久久久久久久久久久久久久久久 | 国产欧美日韩在线 | 奇米狠狠操 | 国产日韩精品一区二区 | 亚洲成人高清在线 | 午夜在线一区 | 男女爱爱网站 | 色哟哟一一国产精品 | 午夜视频网址 | 日韩一级一区 | 精品久久国产 | 欧美激情视频在线 | wwwav视频| 午夜日韩精品 | 欧美高清免费 | 国产欧美精品一区二区三区 | 亚洲精品视频免费看 | 天堂成人在线视频 | 中文一区二区在线观看 | 国产一区二区三区视频 | 高清成人综合 | 一级片在线 | 三级黄色小视频 |