以下是简单的hessian服务代码:

1.导包

<dependency>   <groupId>com.caucho</groupId>   <artifactId>hessian</artifactId>   <version>4.0.38</version></dependency>

2.编写HessianServerProxyExporter类,实现验证

** * 自定义hessian服务发布,可用于自定义验证服务 * * @author smiledada * */public class HessianServerProxyExporter extends HessianServiceExporter {    @Value("${server.userName}")    private String userName;    @Value("${server.passWord}")    private String passWord;

    private static final Logger log = LoggerFactory.getLogger(HessianServerProxyExporter.class);

    @Override    public void handleRequest(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {            String authorization = request.getHeader("Authorization");        HessianContext.setRequest(request); //保存Request到Hessian线程上下文        if (StringUtils.isEmpty(authorization)) {            throw new NestedServletException("Auth Is Empty!");        }        String[] authArr = authorization.trim().split(" ");        String auth = authArr[1];        auth = new String(Base64.getDecoder().decode(auth));        String[] namePwdArr = auth.split(":");        String pwd = namePwdArr[1];        String name = namePwdArr[0];        // 验证IP地址        String ipAddress=NetUtils.getIpAddress(request);        log.info(ipAddress+"进入到本系统。。。。。。。。。。");

            if (ipAddress.equals("127.0.0.1")){                // 验证密码                if (!passWord.equals(pwd)) {                    throw new NestedServletException("密码错误");                }                if (!userName.equals(name)) {                    throw new NestedServletException("用户名错误");                }                super.handleRequest(request, response);            }else {
                System.out.println("ip验证失败");
            }    }

}

3.编写Hessian服务api

public interface TestApi {    /**     * 测试     *     * @return     */    public Map<String, String> testt();

}

4.发布Hessian服务

//发布服务@Bean(name = "/testApi")public HessianServiceExporter accountService() {    HessianServerProxyExporter exporter = new HessianServerProxyExporter();    exporter.setService(testApi);    exporter.setServiceInterface(TestApi.class);    return exporter;}

转载于:https://www.cnblogs.com/smiledada/p/10608510.html

Hessian之简单使用相关推荐

  1. Maltab计算hessian矩阵 hessian function简单例子

    Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,matlab中求解的方法是对雅克比矩阵再求雅克比矩阵. 例如 syms x y z f=x^2+y^2+z^2+x*y*z; J ...

  2. Hessian Spring相关使用的简单例子

    一.简介 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制协议,所以它很适合于发送二进制数据.Hessian通常通过Web应用来提供服 ...

  3. java hessian 例子_Hessian简单示例

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...

  4. Java学习---RMI 技术分析[Hessian]

    一.什么是Hessian Hessian 是一个基于 binary-RPC 实现的远程通讯 library.使用二进制传输数据.Hessian通常通过Web应用来提供服务,通过接口暴露.Servlet ...

  5. Java Hessian小试(转)

    http://zhuchengzzcc.iteye.com/blog/1534311 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制 ...

  6. hessian spring实例整合

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...

  7. Hessian Binary Web Service Protocol远程接口调用入门

    摘要:Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二 ...

  8. hessian学习笔记

    一.hessian是什么 Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC ...

  9. java redis hession_spring: 整合 springmvc shiro redis hessian rocketMQ

    基于springmvc 集合各技术框架 该应用集成技术种类有: 1. shiro Apache Shiro是Java的一个安全框架.Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成 ...

最新文章

  1. C#零碎知识点笔记(容易混淆的一些点)
  2. BCH升级在即,半路杀出个“中本聪”
  3. Matlab稀疏矩阵
  4. Socket 异步通信编程
  5. 前端学习(360):svn操作前期连接工作
  6. 安川变频器跳os_变频器常见故障代码及处理实例(经典,建议收藏)
  7. mongodb查询find(
  8. python中的is和==
  9. VMware Workstation16.2下载安装教程(win10)
  10. linux配置cookie认证,Nginx配置修改网页cookie属性
  11. 集丰照明|LED点光源安装方法
  12. 看完东野小说 乱写写(含微量剧透)
  13. 【Python】《Python网络爬虫权威指南》第三章任务:验证六度分隔理论
  14. Thrift交流(二)thrift服务端和客户端实现 Nifty
  15. 学llinux的资料
  16. 教你给大量视频快速调整色调的方法
  17. Android开发 Retrofit使用
  18. 检测到有潜在危险的 Request.Form 值
  19. postgresql计算两点距离
  20. Ubuntu显示设置

热门文章

  1. php若$a没定义默认是,PHP之错误处理详解
  2. Linux使用笔记: 设置Samba服务器中新建文件/目录的权限
  3. Makefile中支持的函数大全
  4. Linux下查看文件和文件夹大小的df和du命令
  5. 前端学习(3342):ant design中grid排版使用
  6. 前端学习(3131):react-hello-react之总结ref
  7. 前端学习(3021):vue+element今日头条管理--创建组件和配置路由
  8. 前端学习(3000):vue+element今日头条管理--远程仓库的issue
  9. 前端学习(2877):原生js模块化+绘制弹幕与动画video联动
  10. 前端学习(2674):vue3修改