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

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

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

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

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

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

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

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

勾選 WebServices,選擇 Download

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

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

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

Hello 類(lèi)代碼:

package service;import javax.jws.WebMethod;import javax.jws.WebService;@WebService()public class Hello { // 對(duì)外提供的接口 1 @WebMethod public String sayHello(String from) { String result = '李啟業(yè) ' + from; System.out.println('接口被調(diào)用啦'); return result; } // 對(duì)外提供的接口 2 @WebMethod public String test(String from) { String result = '測(cè)試接口 ' + 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 必須對(duì)上你寫(xiě)的帶@WebService的類(lèi)的路徑 --> <!-- url-pattern 指定的就是這個(gè) web service 的接口地址 --> <!-- 例如:這個(gè)項(xiàng)目最終打包成 webservice.war,訪問(wèn)地址就是 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è)文件好像沒(méi)什么用,它是創(chuàng)建 web service 項(xiàng)目自帶的,我沒(méi)有去修改它 --> <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 類(lèi)代碼

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

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

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

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

訪問(wèn)連接:http://localhost:8080/webservice/hello

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

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

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

配置項(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 等待解壓部署即可。

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

看到的頁(yè)面也是一樣

五、web service 客戶(hù)端

我們已經(jīng)完成 web service 的部署,也訪問(wèn)到了首頁(yè),那我們?cè)趺凑{(diào)用剛才里面的 Hello 接口呢?

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

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

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

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

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

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

編寫(xiě)客戶(hù)端的測(cè)試類(lèi):

package com.liqiye.client;import service.HelloService;import service.Hello;public class TestClient { public static void main(String[] args) throws Exception {//構(gòu)建服務(wù)視圖對(duì)象(從service標(biāo)簽name屬性獲?。〩elloService service = new HelloService();//獲取服務(wù)的實(shí)現(xiàn)類(lèi)(從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è)測(cè)試類(lèi),看到已經(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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Tomcat
主站蜘蛛池模板: 午夜视频在线观看一区二区 | 91精品成人福利在线播放 | 日本三级韩国三级在线观看a级 | 国产一区二区在线免费观看 | 成年人三级视频 | 毛片一级免费 | 久久久久久久免费视频 | 寂寞午夜影院 | 黄视频在线免费看 | 色三级大全高清视频在线观看 | 三级中文字幕永久在线视频 | 日本 片 成人 在线 日本68xxxxxxxxx老师 | 成年女人色毛片免费 | 手机免费看毛片 | 毛片在线免费视频 | 欧美激情免费观看一区 | 国产精品v欧美精品v日本精 | 国产精彩视频在线观看 | 九九九精品视频 | 精品成人毛片一区二区视 | 欧美在线乱妇一级毛片 | 99精品免费在线 | 亚洲加勒比在线 | 亚洲毛片在线 | 最新更新国内自拍视频 | 色偷偷资源网 | 精品久久久久中文字幕日本 | 足恋玩丝袜脚视频免费网站 | 在线视频一区二区三区 | 欧美成人欧美激情欧美风情 | 99在线免费观看 | 成人毛片免费在线观看 | 国产精品久久久久国产精品 | 国产成人精品永久免费视频 | 国产精品三级手机在线观看 | 手机看片免费基地你懂的 | 4四虎44虎www在线影院麻豆 | 韩国视频一区 | 步兵精品手机在线观看 | 日韩视频免费一区二区三区 | 女人被男人躁得好爽免费文 |