Java后端:后端发送请求到服务器接口地址(有完整代码!)
前言
在后端开发中,常常也会遇到把部分代码处理的结果发送到新的接口,或者是在后端运行中需要根据条件向其它接口请求参数。
后端发送请求到接口和前端发送请求的用法不同,前端发送请求常常是用Ajax等用法,后端无法使用,因此得使用新的方式。本文介绍了如何在后端发送请求,并对前后端交互方式进行拓展介绍。
一、后端发送请求到其它接口地址
1.后台通过请求转发使Servlet之间相互访问
后台通过请求转发使servlet之间相互访问分为三种方式,分别为:
-
Authors
- forward:是指转发,将当前request和response对象保存,交给指定的url处理。并没有表示页面的跳转,所以地址栏的地址不会发生改变,共享同一个请求协议包关联的请求对象和响应对象。
- redirect:是指重定向,包含两次浏览器请求,浏览器根据url请求一个新的页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变
- include:意为包含,即包含url中的内容,进一步理解为,将url中的内容包含进当前的servlet当中来,并用当前servlet的request和respose来执行url中的内容处理业务.所以不会发生页面的跳转,地址栏地址不会发生改变
具体参考链接1:hualinux 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:前端请求后端的几种方式
总结
本文介绍了后端发送请求的几种方式,以及对前后端的交互进行了简单的介绍。
本文相对全面、细节,提供了实际可运行的代码。
麻烦大家点点赞、收藏一下,以后分享更多代码实例,谢谢!
希望对大家有用!