ash*_*hur 5 java configuration spring spring-mvc
我正在设置一个划痕项目,目前我正在Spring MVC 4.1.5使用java 配置进行配置.整个应用程序正在tomcat gradle插件上运行.
有人可以解释我为什么我需要对类进行以下调用DefaultServletHandlerConfigurer才能将请求映射到我的控制器?
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
Run Code Online (Sandbox Code Playgroud)
没有启用它我的所有请求都被拒绝,服务器说没有特定请求的映射.
我看了春天的文档要找出来,但描述并没有告诉我太多.
启用转发到"默认"Servlet.使用此方法时,DefaultServletHttpRequestHandler将尝试自动检测"默认"Servlet名称.或者,您可以通过enable(String)指定默认Servlet的名称.
这是Spring MVC的部分文档中很好的解释在这里.
这允许将DispatcherServlet映射到"/"(从而覆盖容器的默认Servlet的映射),同时仍允许容器的默认Servlet处理静态资源请求.它配置DefaultServletHttpRequestHandler,其URL映射为"/**",并且相对于其他URL映射具有最低优先级.
此处理程序将所有请求转发到默认Servlet.因此,重要的是它按照所有其他URL HandlerMappings的顺序保持最后.如果您使用或者如果您要设置自己的自定义HandlerMapping实例,请确保将其order属性设置为低于DefaultServletHttpRequestHandler的值,即Integer.MAX_VALUE.
<mvc:default-servlet-handler/>这段代码相当于Spring Web MVC特定组件文件中的xml行,通常定义为servletname-servlet.xml
您必须使用该调用才能配置转发到Spring默认Servlet,如果您不使您的服务器将尝试使用他自己的servlet处理并按照您的解释,如果您没有任何特定的定义它赢了找不到您的请求的任何映射.
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |