专栏首页hadoop学习笔记HanLP封装为web services服务的过程介绍

HanLP封装为web services服务的过程介绍

前几天的召开的2019年大数据生态产业大会不知道大家关注到没有,看到消息是hanlp2.0版本发布了。不知道hanlp2.0版本又将带来哪些新的变化?准备近期看能够拿到一些hanlp2.0的资料,如果能顺利拿到的话,到时候分享给大家!今天分享这篇是关于将hanlp封装到web services服务中的。文章的部分内容有修改,阅读室请注意!

1. Apache Axis2简要介绍

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。

Apache Axis2的主要特征:(1)快速。(2)内存占用小(3)热部署(4)异步Web Services。(5)支持MEP传输规范(6)灵活扩展(7)高稳定性(8)面向组建的部署(9)在SMTP、FTP传输层协议之上(10)支持WSDL协议,易于构建stubs访问服务(11)方便组合和扩展。

2. 将HanLP封装为web services服务的过程

(1)准备工作

由于axis2要运行于servlet容器所以必须下载tomcat,解压到C:\Program Files\apache-tomcat-7.0.92,配置环境变量如下

Path=C:\Program Files\apache-tomcat-7.0.92\bin

下载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文件。在浏览器中访问服务,地址栏输入

原文链接:https://zhuanlan.zhihu.com/p/76951439

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 自然语言处理工具hanlp关键词提取图解TextRank算法

    看一个博主(亚当-adam)的关于hanlp关键词提取算法TextRank的文章,还是非常好的一篇实操经验分享,分享一下给各位需要的朋友一起学习一下!

    IT小白龙
  • 中文自然语言处理工具HanLP源码包的下载使用记录

    这篇文章主要分享的是hanlp自然语言处理源码的下载,数据集的下载,以及将让源代码中的demo能够跑通。Hanlp安装包的下载以及安装其实之前就已经有过分享了。...

    IT小白龙
  • 大快DKH大数据网络爬虫安装教程(详细图文步骤)

    爬虫安装前准备工作:大快大数据平台安装完成、zookeeper、redis、elasticsearch、mysql等组件安装启动成功。

    IT小白龙
  • 数据类型判断Object.prototype.toString.call

    越学习越觉得基础的不牢固,不懂的,摸棱两可的,学了忘了的,在从入门到放弃的路上一直走着。今天分享一下数据类型判断的方法。

    wade
  • 你可以从面试中学到什么?

    讲一下我对面试的一些。。。“偏见”,哈哈,熟悉我的同学们一定要批判的读接下来的内容哈。

    web前端教室
  • 算法训练 K好数

    问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = ...

    AI那点小事
  • 工业机器人常用精密减速器技术和市场分析

    工业机器人是一种装备有记忆装置和末端执行装置的、能够完成各种移动或工艺来代替人类劳动的通用机器。通常在生产中能代替工人做某些单调、频繁和重复的长时间作业,或是危...

    机器人网
  • 深度剖析工业机器人用精密减速器技术

    工业机器人是一种装备有记忆装置和末端执行装置的、能够完成各种移动或工艺来代替人类劳动的通用机器。通常在生产中能代替工人做某些单调、频繁和重复的长时间作业,或是危...

    机器人网
  • 微信小程序避坑指南

     详见官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/client-lib/cl...

    smy
  • 技术猿 | 工业机器人常用精密减速器技术分析

    工业机器人是一种装备有记忆装置和末端执行装置的、能够完成各种移动或工艺来代替人类劳动的通用机器。通常在生产中能代替工人做某些单调、频繁和重复的长时间作业,或是危...

    机器人网

扫码关注云+社区

领取腾讯云代金券