最近,我在启动spring-boot
应用程序时收到以下警告:
o.a.c.c.StandardContext: Suspicious URL pattern: [/rest/**] in context [], see sections 12.1 and 12.2 of the Servlet specification
定义:
@Bean
public FilterRegistrationBean traceFilterRegistration(HttpTraceFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.addUrlPatterns("/rest/**");
return registration;
}
问:现在的/rest/*
和/rest/**
一样吗?这样我就可以安全地切换它了吗?我的目标显然是在rest路径下捕获任何子路径(如/rest/this/is/my/sub
)。
发布于 2022-07-13 14:33:57
Servlet 3.1和4.0的规范声明如下:
12.2 Specification of Mappings
In the Web application deployment descriptor, the following syntax is used to define
mappings:
■ A string beginning with a ‘/’ character and ending with a ‘/*’ suffix is used for
path mapping.
■ A string beginning with a ‘*.’ prefix is used as an extension mapping.
■ The empty string ("") is a special URL pattern that exactly maps to the
application's context root, i.e., requests of the form http://host:port/<contextroot>/. In this case the path info is ’/’ and the servlet path and context path is
empty string (““).
■ A string containing only the ’/’ character indicates the "default" servlet of the
application. In this case the servlet path is the request URI minus the context path
and the path info is null.
■ All other strings are used for exact matches only.
If the effective web.xml (after merging information from fragments and
annotations) contains any
这意味着模式/rest/**
是无效的,应该更改为/rest/*
。
https://stackoverflow.com/questions/72966802
复制相似问题