gpt4 book ai didi

java - 使用 java 和 servlet、JSP 时出现错误 http 400

转载 作者:行者123 更新时间:2023-12-01 16:35:54 25 4
gpt4 key购买 nike

社区怎么样,这个错误今天发生在我身上,我想知道你们中的一些人是否曾经发生过这种情况以及如何解决它。我正在用java创建一个带有servlet的应用程序,其功能是有一个按钮,单击它会通过URL向我发送一个包含50条记录的json,以便我可以生成一个excel。现在,当涉及到 10 条记录时,一切都很好,不会发生任何问题,当该 json 中有超过 20 条记录时,这就是我发生错误的地方。经过调查,我发现发生错误是因为我发送的 header 太长。以下是我发送的 header 的示例:

Url: localhost:8080/pruebas/vistas/excel/Reporte_Insertados.jsp?registros=[{"CODPER":"123456","NRO":"1","DNI":"45874587","APELLIDOS_NOMBRES":"ROJAS%20LOPEZ%20GUSTAVO","FECHA":"14/01/2020","MONTO":"150.50","OBSERVACION":"DADSADSA","RAZON_SOCIAL":"","ESTADO":"DATOS%20CORRECTOS","":""}...] so until you have 50 records.

所以我的问题是:如果你们中的任何人解决了这个问题,或者我如何从我的 servlet 中做到这一点,以允许 header 很长,因为这是一个它不会离开我的问题,并且错误发生在我身上。我留下我的应用程序的代码。提前感谢社区。

My Javascript code:
function exportarReporteInsertados(registrosInsertados){
let tabla_reporte_insertados = $("#tablaCargaMasiva").tableToJSON({});//Here grab all 50 records.
window.location = "excel/Reporte_Insertados.jsp?registros="+JSON.stringify(tabla_reporte_insertados)
}

我的jsp代码来接收数据

    <%@page import="org.json.JSONObject"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="org.json.JSONArray"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
String datos = request.getParameter("registros");

JSONArray jsonArray_datos = new JSONArray(datos);

%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=REPORTE_CARGA_MASIVA.xls");

%>

错误 enter image description here

最佳答案

@Felipo 如果您需要发送 json,请不要将其添加到 url 中。 url字符串有字符限制。请查看:What is apache's maximum url length? 。另外,根据约定,为了通过请求发送 json,您需要将其添加到请求正文而不是 url。使用 ajax 请求将数据发送到端点,而不是通过 url 传递。

关于java - 使用 java 和 servlet、JSP 时出现错误 http 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61948256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com