前幾天的召開的2019年大數據生態產業大會不知道你們關注到沒有,看到消息是hanlp2.0版本發佈了。不知道hanlp2.0版本又將帶來哪些新的變化?準備近期看可以拿到一些hanlp2.0的資料,若是能順利拿到的話,到時候分享給你們!今天分享這篇是關於將hanlp封裝到web services服務中的。文章的部份內容有修改,閱讀室請注意!web
1. Apache Axis2簡要介紹apache
Apache Axis2 是一種web services的引擎。支持SOAP和WSDL協議。它有兩種語言的實現分別是Java實現的Apache Axis2/Java,和Apache Axis2/C。瀏覽器
Apache Axis2不只支持SOAP1.1和SOAP1.2協議,同時還支持REST風格的協議。比起Apache Axis1,Apache Axis2更加高效,支持XML格式數據傳輸等。很是容易嵌入模塊插件從而提升安全性和穩定性。例如WS-Security和WS-Addressing。tomcat
Apache Axis2的主要特徵:(1)快速。(2)內存佔用小(3)熱部署(4)異步Web Services。(5)支持MEP傳輸規範(6)靈活擴展(7)高穩定性(8)面向組建的部署(9)在SMTP、FTP傳輸層協議之上(10)支持WSDL協議,易於構建stubs訪問服務(11)方便組合和擴展。安全
2. 將HanLP封裝爲web services服務的過程app
(1)準備工做webapp
因爲axis2要運行於servlet容器因此必須下載tomcat,解壓到C:\Program Files\apache-tomcat-7.0.92,配置環境變量以下異步
Path=C:\Program Files\apache-tomcat-7.0.92\binide
下載axis2的binary安裝包,解壓到C:\Program Files\axis2-1.7.9,配置環境變量以下函數
AXIS2_HOME=C:\Program Files\axis2-1.7.9
Path=%AXIS2_HOME%\bin
(2)編寫服務類
新建一個service包,並向其中添加服務類
package service;
import com.hankcs.hanlp.HanLP;
public class AnyService {
// 服務接口函數1
public String fun1(String text) {
if(text == null) {
return "";
}else {
return HanLP.XXX(text);
}
}
// 服務接口函數2
public void fun2(String text) {
if(text == null) {
HanLP.XXX(text);
}
}
}
能夠定義任意個服務接口函數,函數內部能夠實例化任意HanLP的類實例。
(3)編寫services.xml
新建一個目錄META-INF,並在該目下新建services.xml(文件名不可修改),輸入下邊內容
<service name="AnyService">
<parameter name="ServiceClass">
service.AnyService
</parameter>
<messageReceivers>
<messageReceiver
mep="http://www.w3.org/ns/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
<messageReceiver
mep="http://www.w3.org/ns/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
</messageReceivers>
</service>
其中AnyService能夠更換成本身想要的服務名稱,可是服務類的名稱必須與前邊定義的服務類的名稱一致。
(4)導出爲 "任意服務名.aar",存儲到C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\services。
(5)將HanLP配置文件hanlp.properties拷貝到C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\classes,配置HanLP的data所在目錄位置
root=填寫你的data所在的目錄
HanLP會在C:\Program Files\apache-tomcat-7.0.92\webapps\axis2\WEB-INF\classes目錄下尋找配置文件,而後讀取。
(5)啓動tomcat,使用瀏覽器訪問服務
雙擊C:\Program Files\apache-tomcat-7.0.92\bin目錄下的startup.bat文件。在瀏覽器中訪問服務,地址欄輸入
http://localhost:8080/axis2/services/AnyService/fun1?text=任意想出入的內容