spring mvc框架,Springmvc集成CXF請看教程二

 2023-11-18 阅读 22 评论 0

摘要:轉自:?http://www.cnblogs.com/xiaochangwei/p/5399507.html 繼上一篇webService入門之后,http://www.cnblogs.com/xiaochangwei/p/4969448.html?,現在我將我周六在家研究的結果公布出來 ? spring mvc框架、本次集成是基于之前已經搭建好的SpringMVC+

轉自:?http://www.cnblogs.com/xiaochangwei/p/5399507.html

繼上一篇webService入門之后,http://www.cnblogs.com/xiaochangwei/p/4969448.html?,現在我將我周六在家研究的結果公布出來

?

spring mvc框架、本次集成是基于之前已經搭建好的SpringMVC+mybatis+shiro的基礎上進行的,看似很簡單的集成,但是由于jar包沖突,搞了好久,犧牲周六休息時間奉上結果

代碼文章末尾會給出下載地址的,請大家不用擔心,這些都是我搭建的,還不是很完善,要用于商業項目請修改完善。

?

步驟:

html表單提交php接收。① 首先在?http://cxf.apache.org/download.html?下載最新版本的CXF,我下載的是3.1.6

② 由于不maven項目,所以拷貝下載的cxf lib目錄下的所有包到項目的lib路徑下。(我在這里嘗試一個個添加,后來jar包沖突了,改天優化下,找出最精簡的jar包)

③ 寫接口文件和接口的實現文件

? ? 接口文件如下,需要注意的是,接口文件上要添加@WebService注解,否則待會兒接口發布后,有這個服務,卻沒有可供調用的接口方法(自己各種條件下的嘗試,不對請拍磚)

復制代碼
package com.xiaochangwei.web.service;import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;@WebService
@SOAPBinding(style = Style.RPC)
public interface WebserviceTest {public String getUserByName(@WebParam(name = "username") String username);public void setUser(String username);public boolean getuser(String name, String password);public boolean test3();
}
復制代碼

springmvc原理、?接口實現類如下,經測試,接口實現類不需要添加@WebService注解,當然添加了也沒報錯

復制代碼
package com.xiaochangwei.web.service.impl;import com.xiaochangwei.web.service.WebserviceTest;public class WebServiceTestImpl implements WebserviceTest {@Overridepublic String getUserByName(String username) {return "Hello:" + username;}@Overridepublic void setUser(String username) {System.out.println("username:" + username);}@Overridepublic boolean getuser(String name, String password) {return false;}@Overridepublic boolean test3() {return false;}}
復制代碼

④ 修改web.xml文件,在末尾增加filter配置

復制代碼
<!-- cxf服務啟動servlet --><servlet><servlet-name>CXFServlet</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>CXFServlet</servlet-name><url-pattern>/webService/*</url-pattern></servlet-mapping>
復制代碼

⑤ 在Spring配置文件,默認為applicationContext.xml中增加下列代碼,需要注意的是:請加入xsd信息 注意加大加粗的字

復制代碼
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p"xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc"xmlns:cache="http://www.springframework.org/schema/cache"xmlns:jaxws="http://cxf.apache.org/jaxws"xmlns:soap="http://cxf.apache.org/bindings/soap"xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/jdbchttp://www.springframework.org/schema/jdbc/spring-jdbc.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsdhttp://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd   http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!-- 引入CXF配置文件,低版本還需引入其他兩個文件 --><import resource="classpath:META-INF/cxf/cxf.xml" /> <!-- 配置方式1   注意:serviceClass為接口類并非實現類 --><jaxws:server serviceClass="com.xiaochangwei.web.service.WebserviceTest" address="/webSerciceTest_service_jaxws"></jaxws:server><!-- 配置方式2    注意:implementor為接口的具體實現類 --><jaxws:endpoint implementor="com.xiaochangwei.web.service.impl.WebServiceTestImpl" address="/webSerciceTest_endpoint" ></jaxws:endpoint>
復制代碼

上面我提供了兩種配置方式,請留意注意事項,

serviceClass : 配置的為接口定義類
implementor  : 配置的為接口的實現類,且接口實現類上面不需要增加@WebService注解標簽

springmvc的使用?⑥ 啟動tomcat并測試,啟動時留意控制臺可以查看配置是否可供調用。

? ? 我的啟動日志如下:

? ??

?

springmvc5教程?可以看到我們以兩種方式配置的發布地址都成功了,現在打開瀏覽器進行測試,請注意后面加上?wsdl

另一個和上面這個一樣,就不再截圖了。

?

Spring mvc?歡迎共勉,不對請拍磚,謝謝!

?

源碼我近期整理好后上傳到網盤再貼上下載地址,整理好后的源碼可以直接用于商業項目開發,屆時歡迎各位架構師指點下小弟

?未整理的源碼下載:http://pan.baidu.com/s/1eSuIQxs (請勿用于商業項目,若需使用請完善,整理好的代碼近期會更新上去)

mvc菜鳥教程,下一篇我將發布SpringMVC下,怎么根據別人發布了的webService wsdl來進行調用

ps: wsdl 全稱是 web service description language ?接口的描述,如果你看到這里還不知道wsdl是什么意思,請受小弟一拜 ?o(∩_∩)o 哈哈

轉載于:https://www.cnblogs.com/weizhxa/p/6839403.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/174269.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息