日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java工程webservice的应用案例

發(fā)布時(shí)間:2023/11/28 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java工程webservice的应用案例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在java項(xiàng)目中使用webservice

今天學(xué)習(xí)webservice,主要參考了網(wǎng)絡(luò)上的一些文章。

1.關(guān)于原理的介紹:個(gè)人認(rèn)為這篇文章寫得不錯(cuò)了,戳這里。

2.關(guān)于demo的編寫:個(gè)人認(rèn)為這篇文章很簡潔,也能運(yùn)行成功,戳這里。

按照上面那篇文章的demo運(yùn)行成功以后,我想在java web中加入一個(gè)webservice服務(wù),供其他的java web項(xiàng)目調(diào)用。

1.首先,在項(xiàng)目中添加com.xdx.webservice包,如圖所示。

2.在其中加入WetherServiceInter接口和其實(shí)現(xiàn)類WeatherService類。代碼如下。

?

package com.xdx.webservice;import javax.jws.WebMethod;
import javax.jws.WebService;import com.xdx.entity.TAdmin;@WebService
public interface WeatherServiceInter {@WebMethodpublic String getWeatherByCityname(String name);public TAdmin getAdminById(int adminId);}

package com.xdx.webservice;import javax.jws.WebService;import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;import com.xdx.entity.TAdmin;
import com.xdx.service.AdminService;@WebService
public class WeatherService implements WeatherServiceInter {public String getWeatherByCityname(String name) {System.out.println(name+"天氣晴朗");return name+"天氣晴朗";}public TAdmin getAdminById(int adminId){WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();AdminService adminService=(AdminService) webApplicationContext.getBean("adminService");TAdmin admin = adminService.getAdminById(adminId);return admin;}}

?

3.發(fā)布webservice服務(wù),這邊我們在web項(xiàng)目啟動的時(shí)候發(fā)布webservice服務(wù),建立一個(gè)filter,在filter中寫入如下代碼,負(fù)責(zé)啟動websocket(之前的demo)和webservice。這邊我們選用8085端口作為webservice的端口。


package com.xdx.filter;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.xml.ws.Endpoint;import org.java_websocket.WebSocketImpl;import com.xdx.webservice.WeatherService;
import com.xdx.websocket.WsServer;public class StartFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {}public void init(FilterConfig arg0) throws ServletException {this.startWebsocketInstantMsg();}/*** 啟動即時(shí)聊天服務(wù)*/public void startWebsocketInstantMsg() {WebSocketImpl.DEBUG = false;WsServer s;s = new WsServer(8887);s.start();System.err.println("websocket啟動了");//啟動webserviceEndpoint.publish("http://localhost:8085/ws_server/weather", new WeatherService());System.out.println("webservice啟動了");}
}

4.在web.xml中配置filter,配置如下。

<!-- filter --><filter><filter-name>startFilter</filter-name><filter-class>com.xdx.filter.StartFilter</filter-class></filter>

5.運(yùn)行項(xiàng)目,在瀏覽器輸入http://localhost:8085/ws_server/weather?wsdl? 測試一下,會出現(xiàn)如下的xml文件。

?

說明已經(jīng)發(fā)布成功了。

6.接下來我們在另外一個(gè)web項(xiàng)目(名為m_gecko)中來調(diào)用該webservice服務(wù)里面的方法。首先,通過cmd進(jìn)入m_gecko項(xiàng)目的src/main/java目錄下,如圖所示,輸入wsimport -keep http://localhost:8085/ws_server/weather?wsdl

出現(xiàn)上述提示,說明已經(jīng)在m_gecko項(xiàng)目中生成了webservice的客戶端代碼,我們刷新一下m_gecko項(xiàng)目看看。果然是的。

7.在m_gecko項(xiàng)目中我們來寫調(diào)用webservice服務(wù)的方法。首先我們來調(diào)用getWeatherByCityname方法。

?

??? @ResponseBody@RequestMapping(value="webserviceDemo1", produces = "text/html; charset=utf-8")public String webserviceDemo1(){WeatherServiceService factory=new WeatherServiceService();WeatherService service=factory.getWeatherServicePort();String result=service.getWeatherByCityname("廈門");return result;}

運(yùn)行m_gecko項(xiàng)目(同時(shí)也要運(yùn)行webservice服務(wù)所在的項(xiàng)目warrior項(xiàng)目),在瀏覽器中輸入http://localhost:8080/m_gecko/webserviceDemo1。

?然后再來調(diào)用getAdminById方法。

?

@ResponseBody@RequestMapping(value="webserviceDemo2")public TAdmin webserviceDemo2(){WeatherServiceService factory=new WeatherServiceService();WeatherService service=factory.getWeatherServicePort();TAdmin admin=service.getAdminById(5);return admin;}

效果如下

?

總結(jié)

以上是生活随笔為你收集整理的java工程webservice的应用案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。