爲了做到這一點,您將需要首先配置您的web.xml,它將.js的請求重定向到spring,而不是直接提供服務。
然後您將需要使用HandlerInterceptorAdapter編寫請求處理程序來攔截請求並驗證關鍵參數。如果它不可用,那麼只需推送警報代碼,並且不要通過preHandle發送flase來處理進一步的請求鏈。
,您可以使用
<mvc:resources mapping="/api/**" location="/api-folder/"/>
配置所有資源web.xml中映射靜態資源,您可以設置
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping>
有關的HandlerInterceptor
@Component
public class MyHandler extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
String key=request.getParameter("key");
if(invalid) {
write alert to response
return false;
}else{
// let spring serve your static content
}
}
}
爲Web上下文XML
<mvc:interceptors>
<bean class="MyHandler " />
</mvc:interceptors>
哦,就是這樣。你能解釋更多細節嗎?例如:如何配置web.xml重定向js到spring以及如何編寫HandlerInterceptorAdapter?如果你有一個簡單的例子,我會很感激。非常感謝你。 – hongchangfirst 2012-07-11 07:25:52
爲web.xml和HandlerInterceptor添加exmaple – 2012-07-11 15:28:01
哦,謝謝。但是如何在xml中配置myHandler,它是按照每個請求調用的嗎? – hongchangfirst 2012-07-11 15:34:14