Java后端:后端发送请求到服务器接口地址(有完整代码!)


前言

在后端开发中,常常也会遇到把部分代码处理的结果发送到新的接口,或者是在后端运行中需要根据条件向其它接口请求参数。
后端发送请求到接口和前端发送请求的用法不同,前端发送请求常常是用Ajax等用法,后端无法使用,因此得使用新的方式。本文介绍了如何在后端发送请求,并对前后端交互方式进行拓展介绍。


一、后端发送请求到其它接口地址

1.后台通过请求转发使Servlet之间相互访问

后台通过请求转发使servlet之间相互访问分为三种方式,分别为:

Authors
forward:是指转发,将当前request和response对象保存,交给指定的url处理。并没有表示页面的跳转,所以地址栏的地址不会发生改变,共享同一个请求协议包关联的请求对象和响应对象。
redirect:是指重定向,包含两次浏览器请求,浏览器根据url请求一个新的页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变
include:意为包含,即包含url中的内容,进一步理解为,将url中的内容包含进当前的servlet当中来,并用当前servlet的request和respose来执行url中的内容处理业务.所以不会发生页面的跳转,地址栏地址不会发生改变

具体参考链接1hualinux servlet 2.19:servlet请求转发三种方式
具体参考链接2(详细、全面,建议参考)Servlet调用(重定向与请求转发)

2.后端创建新的请求发送工具类

以下代码直接复制粘贴即可使用!
import部分的代码都显示出来了,可谓是最全、最细节,一站式解决问题的代码!
代码撰写不易,麻烦点个赞、收藏一下,再复制粘贴,谢谢!

import org.apache.http.HttpStatus;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;

public class sendRequest {
    public static String sendHttpPost(String content, String targetUrl) throws IOException {
        String result;

        HttpPost post = new HttpPost(targetUrl);
        StringEntity entity = new StringEntity(content,"UTF-8"); //编码规则
        entity.setContentType("application/json"); //传递的是序列化后的字符串,因为采用的是JSON格式的数据,因此支持更多复杂的类型
        entity.setContentEncoding("UTF-8");

        post.setEntity(entity);
        RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(200000).setConnectTimeout(500000).build();//超时时间设置
        post.setConfig(requestConfig);
        
        int statusCode;
        
        try (
                CloseableHttpClient httpClient = HttpClients.createDefault();
                CloseableHttpResponse httpResponse = httpClient.execute(post)
        ) {
            statusCode = httpResponse.getStatusLine().getStatusCode();
            result = EntityUtils.toString(httpResponse.getEntity());
            if(statusCode != HttpStatus.SC_OK){
                throw new IOException("网络通信失败!");
            }
        }catch(IOException e) {
            throw e;
        }
        return result;
    }
}

以下图片来自:

超时时间设置说明HttpClient4.3请求超时设置
在这里插入图片描述

二、拓展:前端发送请求到后端

方法:
1、 link标签的href属性
2、 script标签的src属性
3、 img标签的src属性
4、 ajax发送请求
5、 表单提交发送请求
6、 a标签的href发送请求
7、 iframe的src属性发送请求

参考链接1前端向后端发送请求的方式
参考链接2前端请求后端的几种方式


总结

本文介绍了后端发送请求的几种方式,以及对前后端的交互进行了简单的介绍。
本文相对全面、细节,提供了实际可运行的代码。
麻烦大家点点赞、收藏一下,以后分享更多代码实例,谢谢!
希望对大家有用!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值