国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于SSH框架集成Axis開發(fā)并發(fā)布WebService的方法

      文檔序號:9349757閱讀:1072來源:國知局
      一種基于SSH框架集成Axis開發(fā)并發(fā)布Web Service的方法
      【專利說明】一種基于SSH框架集成Ax i s開發(fā)并發(fā)布Web Serv i ce的方法
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及Java Web中的Web Service技術(shù)開發(fā)領(lǐng)域,具體的說是在SSH框架基礎(chǔ)上集成Axis開發(fā)并且發(fā)布Web Service服務(wù)的方法。
      【背景技術(shù)】
      [0002]Web Service技術(shù)的出現(xiàn),使得運行在不同機器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實施的應(yīng)用之間,無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。Web Service為整個企業(yè)甚至多個組織之間的業(yè)務(wù)流程的集成提供了一個通用機制。
      [0003]Web Service主要涉及的技術(shù)有1、XML (標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集);2、SOAP (Simple Object Access Protocol,簡單對象訪問協(xié)議);3、WSDL (Web ServicesDescript1n Language, Web Service 描述語言)。
      [0004]Web Service可以看成是遠程函數(shù)。WSDL可以理解成函數(shù)的聲明,它詳細的定義了函數(shù)的原型,包括函數(shù)名、入口參數(shù)、出口參數(shù)、以及與遠程地址的綁定。SOAP是WebService的訪問協(xié)議,SOAP建立在XML之上,不同的就是對XML原本沒有限制的格式加上了一些限制,需要有envelop,在envelope中,還要分header和body。如果利用SOAP開發(fā)Web Service的程序,那就需要根據(jù)WSDL的定義來自行組裝SOAP包。除了要配置SOAP請求頭文件信息,還要根據(jù)SOAP定義的消息格式組裝消息數(shù)據(jù)。這種手工組裝SOAP消息的方式,工作量較大,而且日后的系統(tǒng)維護、升級、部署都有較高的復(fù)雜度。
      [0005]Web Service的接口業(yè)務(wù)實現(xiàn)層,進行具體的業(yè)務(wù)實現(xiàn)處理,在Web Service接口中調(diào)用各種業(yè)務(wù)需求的實現(xiàn)方法。由于業(yè)務(wù)的復(fù)雜性,Web Service接口中對業(yè)務(wù)實現(xiàn)方法不可避免的會存在多重依賴性,對象之間的耦合度越高,業(yè)務(wù)變更時的維護成本就越高,因此對象的設(shè)計應(yīng)使類和構(gòu)件之間的耦合最小。
      [0006]SSH為Struts + Spring + Hibernate的一個集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。使用該框架,將對象之間的依賴關(guān)系交給Spring,降低組件之間的耦合性,開發(fā)者可以更專注于應(yīng)用邏輯;降低了業(yè)務(wù)對象替換時所帶來的復(fù)雜性和維護成本。
      [0007]Axis 全稱 Apache Extensible Interact1n System,即阿帕奇可擴展交互系統(tǒng)。Axis本質(zhì)上就是一個SOAP引擎,提供創(chuàng)建服務(wù)器端、客戶端和網(wǎng)關(guān)SOAP操作的基本框架。

      【發(fā)明內(nèi)容】

      [0008]本發(fā)明提供了一種基于SSH框架集成Axis開發(fā)并發(fā)布Web Service的方法,所述方法通過將組裝SOAP消息的工作托管給AXIS來處理,通過SSH框架降低Web Service業(yè)務(wù)邏輯層的耦合度,能夠在應(yīng)用生產(chǎn)過程中快速的架設(shè)Web Service服務(wù),降低系統(tǒng)復(fù)雜度,從而簡化維護和部署。
      [0009]為了實現(xiàn)上述的目的,本發(fā)明采用了以下的技術(shù)方案: 一種基于SSH框架集成Axis開發(fā)并發(fā)布Web Service的方法,該方法包括以下的步驟:
      步驟1,搭建SSH框架基礎(chǔ)開發(fā)平臺,導(dǎo)入SSH框架所依賴的Jar包到工程中,修改web-1nfo下的web.xml文件,增加struts2的配置;并在WEB-1NF/classes目錄下添加struts, xml配置文件;
      步驟2,整合并且在SSH框架基礎(chǔ)上配置Axis,修改web.xml增加Axis的配置描述,并在web.xml文件下加入AxisServlet配置后,系統(tǒng)就會對以后綴為*.jws及路徑為/services/*的請求進行監(jiān)聽,遇到此類請求時將把信息交由org.apache,axis, transport, http.AdminServlet 類進行處理;Axis 和 struts2 在整合過程中,在struts, xml 增加〈constant name=〃struts.act1n, excIudePattern^ value=///servlet/AxisServlet, /services/.*〃/>配置,將Web Service的訪問路徑從struts2中攔截器中排除;
      步驟3,編寫Web Service實現(xiàn)類,采用基于spring的Web Service實現(xiàn),WebService 月艮務(wù)類需要繼承 spring 提供的 org.springframework.remoting.jaxrpc.ServletEndpointSupport 類,Spring 使用該類來暴露 WebService ;
      步驟 4,編寫 Web Service Deployment Descriptor 文件;
      步驟5,發(fā)布Web Service服務(wù),在瀏覽器訪問在web.xml里配置好的Axis處理地址AxisServlet,打開已配置并且發(fā)布好的Web Service,單擊發(fā)布成功的接口名稱打開其對應(yīng)的WSDL文件,將WSDL文件保存后,根據(jù)該文件信息進行客戶端的Web Service調(diào)用。
      [0010]本方法將組裝SOAP消息的工作托管給AXIS來處理,相較于手工實現(xiàn)SOAP協(xié)議,實現(xiàn)更快捷,如果有新的接口業(yè)務(wù)要實現(xiàn)時,只需將所要發(fā)布的Web Service方法配置到WSDD文件中即可,不需額外手工編寫WSDL文件。
      [0011]本方法實現(xiàn)了資源的可配置和易管理,降低了使用資源雙方的依賴程度。通過Spring提供的1C將Web Service接口與具體業(yè)務(wù)實現(xiàn)進行分離,將對象之間的依賴關(guān)系交給Spring,降低Web Service接口與接口業(yè)務(wù)實現(xiàn)層之間的親合性。在接口業(yè)務(wù)需求變更時只需要將新的業(yè)務(wù)實現(xiàn)通過Spring注入到接口中即可,降低了業(yè)務(wù)對象變更或替換時所帶來的復(fù)雜性和維護成本。
      【附圖說明】
      [0012]圖1為本發(fā)明方法的流圖。
      [0013]圖2為發(fā)布成功的接口的示意圖。
      【具體實施方式】
      [0014]如圖1所示的一種基于SSH框架集成Axis開發(fā)并發(fā)布Web Service的方法,本方法共包含5個步驟。
      [0015]步驟1,搭建SSH框架基礎(chǔ)開發(fā)平臺,【具體實施方式】如下:
      導(dǎo)入SSH框架所依賴的Jar包到工程中,修改web-1nfο下的web.xml文件,增加struts2的配置:
      <filter> <fiIter_name>struts2〈/fiIter_name>
      <filter-class>
      org.apache, s t r u t s 2.dispatcher, n g.filter.StrutsPrepareAndExecuteFilter</filter-class>
      </filter>
      <fiIter_mapping>
      <fiIter_name>struts2〈/fiIter_name>
      <url_pattern>/氺</url_pattern>
      </fiIter_mapping>
      StrutsPrepareAndExecuteFilter過濾器的主要功能是對request請求轉(zhuǎn)發(fā)到對應(yīng)的act1n去處理,是struts2的核心過濾器。
      [0016]在WEB-1NF/classes 目錄下添加 struts, xml 配置文件:
      <struts>
      〈constant name=,,struts, convent1n, act1n, suffix,, value=,,Controller,,/〉〈constant name=,,struts, convent1n, default, parent, package,, value=〃nbol〃/>〈!一搜索此配置下的所有包中的類一>
      〈constant name = ,, strut s.convent1n, package, locators.basePackage,,value=,,net.nbol〃/>
      〈! 一 act1n 存放的根包,如果不配,默認為 struts、struts2、act1n、act1ns
      —>
      〈constant name=,,struts, convent1n, package, locators,, value=,,controller,,
      />
      〈!一返回頁面的根路徑一>
      〈constant name=,,struts, convent1n, result, path,, value=〃/WEB_INF/〃/>
      </struts)
      配置Spring,修改web-1nfo下的web.xml文件增加對spring的配置:
      〈listener〉
      <listener_class>
      org.springframework.web.context.ContextLoaderListener </listener_class>
      〈/listener〉
      <context-param>
      〈param_name>contextConfigLocat1n〈/param_name>
      <param_value>classpath氺:spring/氺.xml</param-value>
      </context-param>
      ContextLoaderListener監(jiān)聽器的作用就是啟動Web容器時,自動裝配Applicat1nContext 的配置信息。
      [0017]在WEB-1NF/classes 目錄下添加 spring 配置文件 applicat1nContext.xml:<aop: aspectj-autoproxy />
      〈context:annotat1n-config />
      〈context:component-scan base_package=〃net.nbol〃 />
      <tx: annotat1n-driven />
      配置hibernate,由于hibernate在SSH框架中負責(zé)數(shù)據(jù)持久化,在Web Service開發(fā)中并不是必須的,所以這里不具體描述如何配置hibernate。
      [0018]步驟2,整合并且在SSH框架基礎(chǔ)上配置Axis:
      修改web.xml增加Axis的配置描述:
      <display-name>Apache-Axis</display-name>
      〈listener〉
      <listener-class>org.apache, axis, transport, http.AxisHTTPSess1nListener</listener_class>
      〈/listener〉
      〈!一服務(wù)管理—>
      <servlet>
      <servlet-name>AdminServlet</servlet_name>
      <servlet-class>
      or
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1