Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java无法从我的servlet获得任何响应_Javascript_Java_Angularjs_Servlets - Fatal编程技术网

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

Javascript Java无法从我的servlet获得任何响应,javascript,java,angularjs,servlets,Javascript,Java,Angularjs,Servlets,我的jsp页面: <button data-ng-click="login()">Fetch data from server</button> FileEditServlet.java @WebServlet("/FileEditServlet") public class FileEditServlet extends HttpServlet { protected void doPost(HttpServletRequest request,

我的jsp页面:

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

@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");

 }
web.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>

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

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

为什么你的url是


试着换成

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

我认为web.xml和js部分不应该导致这个问题。返回字符串
testtest
肯定应该在代码中的某个地方,在项目中进行文本搜索(如果您使用的是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");

 }

xmlHttpReq.status
的值是多少?200,它到达该行,并触发警报…但它是空的。您可以在控制台右侧的do POST中看到这行
。请尝试在控制台中添加
response.getWriter().flush()
,只有:test,我不知道它是从哪里来的……我现在也在代码中添加了flush()的内容,但是我没有这样做,警报根本不会触发。您的配置有点混乱。如果您使用@WebServlet注释,那么web.xml是可选的,但您可以使用另一个url模式再次定义servlet。那么,我可以从web.xml中删除servlet部分吗?然后用你上面的建议?
@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");

 }