Javascript Java无法从我的servlet获得任何响应
我的jsp页面: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,
<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");
}