没有看到Spring MVC映射java

时间:2017-09-19 09:45:52

标签: javascript java ajax spring-mvc controller

嘿我有一个按下按钮时调用的ajax请求,但是servlet映射不起作用。按下按钮时不会进入控制器。 这是向控制器发出ajax请求的脚本。

<script type="text/javascript">
     function getData() {
        var dataToBeSent = {
            uName : $("#jsonResponse").text() //
        }; 

        $.ajax({
            url : 'something/testing', // Your Servlet mapping or JSP(not suggested)
            data : dataToBeSent,
            type : 'POST',
            dataType : 'html', // Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
            success : function(response) {
                $('#outputDiv').html(response); // create an empty div in your page with some id
            },
            error : function(request, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    }; 


</script> 

#jsonResponse是首先动态分配的

。 这是控制器:

@Controller
@RequestMapping("/something")
public class Test {

    @RequestMapping("/testing")
    public void test(@RequestBody String yey){

    Connection conn = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost/api?user=root&password=1234");
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    String query = "INSERT INTO test(Id, nume) value (default, ?)";
    PreparedStatement preparedStmt;
    try {
        preparedStmt = conn.prepareStatement(query);
        preparedStmt.setString (1, yey);
        preparedStmt.execute();
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    System.out.println(yey);        
}
}

1 个答案:

答案 0 :(得分:0)

我认为在你的servlet中,你忘了设置你的servlet应该监听的POST或GET方法类型。在你ajax你发送了一个POST请求,但是你的servlet中没有提到请求的类型

@RequestMapping(value = "/something/testing", method = POST)

我认为这可能适合你