有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript Java无法从我的servlet获得任何响应

我的jsp页面:

<button data-ng-click="login()">Fetch data from server</button>

主控制器。js

    $scope.login = function() {
    var xmlHttpReq = new XMLHttpRequest();
    xmlHttpReq.open('POST', "http://localhost:8080/WEB-war/FES", false);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/json');

    xmlHttpReq.send(JSON.stringify($scope.strings));
    if (xmlHttpReq.status === 200) {
        alert(xmlHttpReq.responseText)
    }

}

FileEditServlet。爪哇

@WebServlet("/FileEditServlet")
public class FileEditServlet extends HttpServlet {

 protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    System.out.println("inside do POST");

    PrintWriter out = response.getWriter();
    out.println("response");
    response.getWriter().write("do something omg");

 }

网络。xml

    <?xml version="1.0" encoding="UTF-8"?>
  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"                      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>FileEditServlet</servlet-name>
    <servlet-class>servlet.FileEditServlet</servlet-class>
</servlet>

<servlet-mapping>
     <servlet-name>FileEditServlet</servlet-name>
     <url-pattern>/FES</url-pattern>
</servlet-mapping>

</web-app>

一旦我按下按钮从服务器获取数据并调用登录函数,就会调用mainContrller中的函数,输出为空。我的意思是警报是空的,好像没有回应

此外,控制台中没有任何内容,只有两个词:“test test” 这在我的代码中根本找不到


共 (1) 个答案

  1. # 1 楼答案

    我将把这一点写进一个答案中,我认为这个答案可能比附加评论更清楚

    我认为是网络。xml和js部分不应该引起问题。返回字符串test test肯定应该在代码中的某个地方,在项目中进行文本搜索(如果您使用的是Eclipse)

    然而,我猜问题是因为您试图从HttpServletResponse调用getWriter方法两次——第一个方法向流中写入println第二个方法。你可以试着移除其中一个。这里有一个小例子:

    @WebServlet("/FileEditServlet")
    public class FileEditServlet extends HttpServlet {
    
     protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
    
        System.out.println("inside do POST");
    
        PrintWriter out = response.getWriter();
        out .getWriter().write("do something omg");
    
     }