Java webservlet没有得到doPost

时间:2017-05-25 13:12:29

标签: java ajax

每当我对我的Java webservlet进行AJAX POST时,似乎都没有发生任何事情。首先我从其他localhost端口发布了问题(我正在从http://localhost:3000http://localhost:8080进行AJAX帖子),但是使用CORSFilter修复了这个问题。

然而,当我现在发帖时,一切似乎进展顺利,但POST本身没有任何反应。

这是功能:

module.exports = {
    postPerson: function (person) {
            $.ajax({
                type: "POST",
                url: 'http://localhost:8080/person',
                dataType: 'text',
                data: 'test',
                success: function(data){
                    console.log('success ' + data);
                },
                error: function(jQXHR, textStatus, errorThrown) {
                    console.log("error");
                },
                failed: function(){
                    console.log('failed');
                },
                done: function() {
                    console.log('done');
                }
            })
        }
};

和servlet:

package servlets;

import java.io.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet(urlPatterns = "/person")
public class PersonServlet extends HttpServlet {

    public void init() throws ServletException {}

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {}

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {
        System.out.println("testpost");
        response.setContentType("text/html");
        String student = request.getParameter("person");

    }
}

在浏览器控制台中查看时,它会打印success,并在XHR选项卡中告诉我POST是好的,返回200.但是,我希望'testpost'打印出来,然后我设置那时断点,但没有任何反应。

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

success : function(data) {
                    if(data!=null){
                        alert(data);
                        }else{
                            alert('Not working!!');
                        }
                    }

检查数据。

答案 1 :(得分:0)

我建议在tomcat上刷新war文件。确保删除它并再次构建项目。在我看来它还没有更新,因为如果你得到一个200 POST,这意味着你正在使用那个doPost()方法。