Spring mvc Tomcat 8.0.30更新更改重定向行为
我将Tomcat8从8.0.26更新到8.0.30 在我们的项目中,我们使用org.springframework:springwebmvc:4.2.3.RELEASE 对于版本8.0.26,当我们打开上下文根目录时,Tomcat会发送一个自动重定向302:> 由于版本8.0.30,重定向不再发送,这会导致相对URL出现一些问题 Java配置没有改变(我们在该项目中不使用XML) 如何恢复重定向行为?Spring mvc Tomcat 8.0.30更新更改重定向行为,spring-mvc,tomcat8,Spring Mvc,Tomcat8,我将Tomcat8从8.0.26更新到8.0.30 在我们的项目中,我们使用org.springframework:springwebmvc:4.2.3.RELEASE 对于版本8.0.26,当我们打开上下文根目录时,Tomcat会发送一个自动重定向302:> 由于版本8.0.30,重定向不再发送,这会导致相对URL出现一些问题 Java配置没有改变(我们在该项目中不使用XML) 如何恢复重定向行为? 这是Tomcat 8.0.30中的一个bug吗?这个bug似乎相关,并提供了一个可能的解决方法
这是Tomcat 8.0.30中的一个bug吗?这个bug似乎相关,并提供了一个可能的解决方法:
我在8.0.30上测试了它。我在context.xml中添加了MapPercentextRootRedirectEnabled=“true”。它仍然没有重定向:(.我想要重定向回来。那个标志帮助了我。虽然这个改变本身很奇怪-它影响了很多人,但是开发人员仍然不确定它是否是预期的。
public final class WebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(final ServletContext servletContext) {
try (
final AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext()) {
rootContext.register(AppConfig.class);
servletContext.addListener(new ContextLoaderListener(rootContext));
}
try (
final AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext()) {
dispatcherContext.register(WebConfig.class);
// dispatcherContext.setServletContext(servletContext); I don't know the reason for this line
final Dynamic dynamic = servletContext.addServlet("dispatcher",
new DispatcherServlet(dispatcherContext));
dynamic.setLoadOnStartup(1);
dynamic.addMapping("/");
dynamic.setMultipartConfig(
new MultipartConfigElement("/tmp", 1024 * 1024 * 5, 1024 * 1024 * 6, 1024 * 1024));
}
}
}