【发布时间】:2017-02-05 01:33:24
【问题描述】:
我有一个映射到/foo.jsp 的 url,它重定向到一个控制器,但它不是由 spring 处理并返回 404。似乎该 url 被忽略并直接发送到 tomcat。有没有可能让弹簧处理它?
要复制,从https://github.com/spring-projects/spring-boot/tree/1.4.x/spring-boot-samples/spring-boot-sample-tomcat7-jsp 开始只需添加:
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/foo", "/").setStatusCode(HttpStatus.MOVED_PERMANENTLY);
registry.addRedirectViewController("/foo.html", "/").setStatusCode(HttpStatus.MOVED_PERMANENTLY);
registry.addRedirectViewController("/foo.jsp", "/").setStatusCode(HttpStatus.MOVED_PERMANENTLY);
}
}
然后导航到/foo 和/foo.html 按预期工作,但/foo.jsp 返回404
【问题讨论】:
-
使用UrlRewriteFilter我能够重定向一个jsp url,但是spring的行为感觉有问题。
标签: java jsp spring-mvc tomcat spring-boot