直接上代码,分析下自己的出错原因,以便以后不再犯:
$.ajax({
url : 'ajax/test',
dataType : 'json',
contentType : 'application/json;charset=UTF-8',
type : 'GET',
data : userData,
async : true,
success : function(data, status) {
}
});
该jsp对应的基路径是http://localhost:8080/Springmvc/(在jsp页面的头部写着 bathPath)
本来ajax中url的路径写的是/ajax/test 是绝对路径,其中/表示根路径,请求完毕之后,请求路径自然变成了http://localhost:8080/ajax/test 那这是绝对找不到对应的路径的,只能报404;而当采用上述方式使用相对路径时,是相对当前的jsp页面,因而拼接出来的请求路径是http://localhost:8080/Springmvc/ajax/test 刚好对应Controller路径;
其实 一般这样的url给路径时 尽量给出绝对路径,这样不易出错,因此可借助jsp中的basePath,将url路径改为这种写法最佳:url:<%=basePath%>ajax/test
值得一提的是,Java web中引入静态文件的思路 跟上面提到的基本一致