Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java server.servletPath=/*在spring-boot.version 2.1.7.RELEASE中不工作_Java_Spring_Spring Boot_Spring Mvc_Java 8 - Fatal编程技术网

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只能服务于该上下文路径下的内容