错误http 400,带有Java和servlet,JSP

问题描述 投票:0回答:1

关于社区,今天这个错误发生在我身上,我想知道你们中的某些人是否曾经遇到过您以及如何解决它。我正在用Java的servlet创建一个应用程序,该功能是有一个按钮,单击该按钮可以通过URL向我发送一个包含50条记录的json,以便生成一个excel。现在,当涉及到10条记录时,一切都很好,没有问题,当您在json左右有20条以上的记录时,这就是我发生错误的地方。经调查,我发现此错误发生是因为我发送的标头太长。这是我要发送的标头的示例:

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中解决这个问题,以允许标头很长,因为这是问题所在,它并没有使我烦恼,而错误却发生在我身上。我留下我的应用程序代码。预先感谢社区。

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

java servlets
1个回答
0
投票

@@ Felipo如果您需要发送json,请避免将其添加到url中。 url字符串有字符限制。另外,根据惯例,为了通过请求发送json,您需要将其添加到请求正文中,而不是添加到url

© www.soinside.com 2019 - 2024. All rights reserved.