JSONP全局异常处理、HTTPClient、SOA、RPC、Zookeeper、Dubbo

本文探讨了JSONP的全局异常处理机制,介绍了如何编辑处理机制以适应JSONP请求。接着,详细讲解了HttpClient的使用,包括基础概念、入门案例和加强案例。此外,文章还涉及了SOA思想、RPC原理以及微服务的智能调用方式。同时,阐述了Zookeeper在服务注册中心的角色和集群知识,最后提到了Dubbo框架的应用。
摘要由CSDN通过智能技术生成

一、JSONP全局异常处理机制

1、问题说明

当后端服务器执行出错时,会执行全局异常的处理.但是JSONP的请求的调用要求 返回值类型 callback(JSON)结构.所以需要重构全局异常处理的返回值结构类型.
在这里插入图片描述

2、编辑全局异常处理机制

package com.jt.aop;

import com.fasterxml.jackson.databind.util.JSONPObject;
import com.jt.vo.SysResult;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import javax.servlet.http.HttpServletRequest;
import java.sql.SQLException;

//@ControllerAdvice  //拦截controller层
//@ResponseBody
@RestControllerAdvice   //定义全局异常的处理类   AOP=异常通知
public class SystemAOP {
   

    /**
     *  定义全局异常的方法  当遇到了什么异常时,程序开始执行   参数一般class类型
     *  如果一旦发生异常,则应该输出异常的信息,之后返回错误数据即可.
     *
     *  解决跨域全局异常处理的规则: 京淘项目的跨域都是使用JSONP.   http://xxxx?callback=xxxxx
     *  如果请求中携带了callback参数 则认为是JSONP跨域请求.
     *  难点: 如何获取callback参数呢??/
     */
    @ExceptionHandler({
   RuntimeException.class})
    public Object systemAop(Exception e, HttpServletRequest request){
   
        e.printStackTrace();
        String callback  = request.getParameter("callback");
        if(StringUtils.isEmpty(callback)){
   
            //常规方法调用方式
            return SysResult.fail();
        }else{
   
            //证明是jsonp跨域请求
            return new JSONPObject(callback, SysResult.fail());
        }
    }
}

二、HttpClient

1、业务需求

业务说明:当做某些操作时,可能会对数据进行业务加工,之后由服务器与服务器之间形同通讯.
在这里插入图片描述
在这里插入图片描述

2、HttpClient介绍

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,J

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值