虽然我知道我可以利用web.xml来允许或阻止我的web应用程序或全局的某些url,我希望以编程方式做到这一点。
也就是说,一些简单的正则表达式需要添加到属性文件中,我需要读取该属性文件,并根据这些正则表达式的匹配接受或拒绝请求。
我应该在哪里连接代码来接受或拒绝请求?
最后我是这样做的:
- 实现了
org.springframework.web.servlet.HandlerInterceptor
的一个实例。在这三个方法中,我只需要编码boolean preHandle
。 - 将这行添加到我的应用程序上下文:
<mvc:interceptors>
<bean class="net.myurl.myapp.dashboard.web.interceptor.MyInterceptor" />
</mvc:interceptors>
- 使用
request.getHeader("referer");
方法获得请求服务器,并从那里做出决定。如果希望Tomcat/Spring停止处理,可以返回false;如果希望继续处理,可以返回true。
结果很简单。