Java server.servletPath=/*在spring-boot.version 2.1.7.RELEASE中不工作
我在Java server.servletPath=/*在spring-boot.version 2.1.7.RELEASE中不工作,java,spring,spring-boot,spring-mvc,java-8,Java,Spring,Spring Boot,Spring Mvc,Java 8,我在application.properties文件中使用了spring-boot.version 1.5.6.RELEASE的以下属性,没有任何问题 server.servletPath=/* 这是一种变通方法,可以在库类中启用一个方法,该库类使用javax.servlet.http.HttpServletRequest的函数getPathInfo()来获取有效值,而不是null 我不得不采用这种变通方法,因为不再支持这个库jar了 当我将应用程序升级到spring-boot.version
application.properties
文件中使用了spring-boot.version 1.5.6.RELEASE
的以下属性,没有任何问题
server.servletPath=/*
这是一种变通方法,可以在库类中启用一个方法,该库类使用javax.servlet.http.HttpServletRequest
的函数getPathInfo()
来获取有效值,而不是null
我不得不采用这种变通方法,因为不再支持这个库jar了
当我将应用程序升级到spring-boot.version 2.1.7.RELEASE
server.servletPath
从spring Boot 2开始更改为spring.mvc.servletPath
我尝试设置下面的属性,但它不起作用
spring.mvc.servletPath=/*
我还在我的配置类中尝试了下面的函数,但它不起作用
@Bean
public DispatcherServletRegistrationBean dispatcherServletRegistration(
DispatcherServlet dispatcherServlet,
ObjectProvider<MultipartConfigElement> multipartConfig) {
DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean(
dispatcherServlet, "/*");
registration.setName("dispatcherServlet");
registration.setLoadOnStartup(-1);
multipartConfig.ifAvailable(registration::setMultipartConfig);
return registration;
}
@Bean
公共dispatcherServletRegistration bean dispatcherServletRegistration(
DispatcherServlet DispatcherServlet,
对象提供程序(multipartConfig){
DispatcherServletRegistrationBean注册=新DispatcherServletRegistrationBean(
dispatcherServlet,“/*”;
注册.setName(“dispatcherServlet”);
注册。setLoadOnStartup(-1);
multipartConfig.ifAvailable(注册::setMultipartConfig);
申报登记;
}
您能否使用spring-boot.version 2.1.7.RELEASE
为该属性提供一个有效的解决方案
谢谢,
Dhinu在最新的spring引导版本上使用以下配置属性:
server.servlet.contextPath=/*
较新spring版本的正确设置为:
spring.mvc.servlet.path=/some/path
这将更改DispatcherServlet的映射,因此spring提供的所有资源都映射到此路径
如果设置:
server.servlet.contextPath=/some/path
整个web上下文都已更改
主要区别在于,设置dispatcher servlet路径允许您在其他路径上注册其他servlet,而在设置了上下文路径的情况下,spring boot的tomcat只能服务于该上下文路径下的内容