电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:6日期: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
主站蜘蛛池模板: 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 超声波反应釜【百科】-以马内利仪器 | 热处理温控箱,热处理控制箱厂家-吴江市兴达电热设备厂 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 青岛侦探调查_青岛侦探事务所_青岛调查事务所_青岛婚外情取证-青岛狄仁杰国际侦探公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 网站建设-临朐爱采购-抖音运营-山东兆通网络科技| 深圳湾1号房价_深圳湾1号二手房源 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 服务器之家 - 专注于服务器技术及软件下载分享 | 最新范文网_实用的精品范文美文网 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 双杰天平-国产双杰电子天平-美国双杰-常熟双杰仪器 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 |