我们的应用程序是基于 Java/Spring3/Spring MVC/Hibernate 的应用程序。
我们有一些资源存储在服务器机器上的不同位置。位置存储在数据库中。基本上,当 Web 应用程序从 uri 请求文件/<our-app>/page/file.kml
时,例如需要拦截此调用时,忽略请求的 uri,查找文件的实际位置并将其作为响应返回。
我们servlet-context.xml
有一些拦截器;
<interceptors>
<interceptor>
<mapping path="/page/**" />
<beans:bean class="com.ourapp.AuthenticationInterceptor" />
</interceptor>
<interceptor>
<mapping path="/page/*.kml" />
<beans:bean class="com.ourapp.KmlInterceptor" />
</interceptor>
</interceptors>
第一个拦截用于我们的身份验证,效果很好。基本上确保用户登录任何请求。
第二个拦截器是我们设置的,用于尝试拦截来自 geoXML3 的 KML 文件请求。拦截器似乎没有开火?(即 KmlInterceptor.preHandle 没有被调用?)。
我们在那里做正确的映射吗?
这是拦截特定文件类型的请求并返回从其他地方检索到的实际文件的方法吗?