用tomcat10从服务中获取json并处理,用Javascript处理

omvjsjqw  于 2023-01-06  发布在  Java
关注(0)|答案(1)|浏览(175)

我已经将web.xml配置为具有一个servlet,该servlet用我想要的信息(JSON或HML)来回答我,问题是我想用java脚本管理响应,但我不知道如何使用放在/SI中的js代码来获得响应。
我的索引和JS位于/SI中,当我到达表单顶部时,我移动到/SI/standard-Servlet。
我可以在那里放置一些js来管理这个响应,但我不确定这是答案。我需要一些js代码来接收和处理这个json响应。
我想我需要修改表单,以便调用serlvet,但我等待结果。
先谢谢你。
这是我的js表单:

var form = document.createElement("form");
            form.setAttribute("method", "post");
            form.setAttribute("action", "standar-Servlet");

这是我在tomcat中的java(我得到了正确的响应)

protected void response(HttpServletResponse resp,String request,String valuesMsg)
            throws ServletException, IOException {
        PrintWriter out=resp.getWriter();

/*        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>");
        out.println("</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("standar-Servlet request: "+request);
        out.println("standar-Servlet response : "+valuesMsg);
       /* out.println("<p>");
        out.println("name fields: "+namesMsg);
        out.println("</p>");
        out.println("<p>");
        out.println("name fields: "+valuesMsg);
        out.println("</p>");*/
 /*       out.println("</body>");
        out.println("</html>");*/
        resp.setContentType("application/json");
        resp.setCharacterEncoding("UTF-8");
        out.print(valuesMsg);
    }

这是我的web.xml:

<web-app>
    <servlet>
        <servlet-name>standarServlet</servlet-name>
        <servlet-class>SERVER.SERVLETS.standarServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>standarServlet</servlet-name>
        <url-pattern>/standar-Servlet</url-pattern>
    </servlet-mapping>
</web-app>
h7appiyu

h7appiyu1#

如果你想处理请求的响应,你应该使用fetch API(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API),而不是创建一个form元素:

async function makeRequest() {
  const response = await fetch('/standar-Servlet', { method: 'post' })
  const result = await response.json()
  console.log(result) // do something with result
}

相关问题