我的Spring应用程序中有一个javaScript函数用于提供REST GET调用。
function populateCombo(){
$.ajax({
url: "activities.json",
type: "get",
dataType: "html"
}).done(function(data) {
console.log("data from AJAX : "+data);
//$('#activities').html(html);
});
}
我已将web.xml
配置为满足该请求。
<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
但是无论如何都要实现同样的结果而不必调用ajax中的url为activities.json
就是这样的事情,
function populateCombo(){
$.ajax({
url: "activities",
type: "get",
dataType: "html"
}).done(function(data) {
console.log("data from AJAX : "+data);
//$('#activities').html(html);
});
}
我的web.xml是,
<servlet>
<servlet-name>fitTrackerServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/servlet-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>/pdfs/**</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
注意:我尝试通过删除所有并添加以下内容来实现此目的
<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
然后它显示我的javaScript文件导入错误
ex:WARNING: No mapping found for HTTP request with URI [/FitnessTracker/resources/javaScript/jquery/jquery.js] in DispatcherServlet with name 'fitTrackerServlet'
在jsp文件中导入为,
<script type="text/javascript" src="/FitnessTracker/resources/javaScript/jquery/jquery.js"></script>
答案 0 :(得分:0)
关于使用
的假设<servlet-mapping>
<servlet-name>fitTrackerServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
是对的。但Spring不知道jquery.js是一个静态资源,它试图为请求的URL找到一个合适的RequestMapping。使用此标记
<mvc:resources mapping="/js/**" location="/js/"/>
在Spring应用程序上下文中标记静态资源的所有路径。