对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
加工
这DispatcherServlet
按如下方式处理请求:
-
这
WebApplicationContext
在请求中作为属性进行搜索和绑定 控制器和进程中的其他元素可以使用。默认情况下它是绑定的 在DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE
钥匙。 -
区域设置解析器绑定到请求,以 let 进程中的元素 解析在处理请求(渲染视图、准备 data 等)。如果不需要 locale 解析,则不需要 locale 解析程序。
-
主题解析程序绑定到请求,让视图等元素确定 使用哪个主题。如果您不使用主题,则可以忽略它。
-
如果指定 multipart 文件解析程序,则会检查请求是否存在 multipart。如果 multipart 的 Fragment 中,请求被包装在
MultipartHttpServletRequest
为 在此过程中通过其他元素进行进一步处理。有关详细信息,请参阅 Multipart Resolver 有关分段处理的信息。 -
寻找合适的处理程序。如果找到处理程序,则执行链 与处理程序(预处理器、后处理器和控制器)关联的是 run 准备用于渲染的模型。或者,对于带注释的 控制器,响应可以渲染(在
HandlerAdapter
) 而不是 返回一个视图。 -
如果返回模型,则呈现视图。如果未返回任何模型(可能是由于 拦截请求的预处理器或后处理器,可能是为了安全 reasons),则不会呈现任何视图,因为请求可能已经完成。
这HandlerExceptionResolver
在WebApplicationContext
习惯于
解决请求处理期间引发的异常。这些异常解析程序允许
自定义逻辑以解决异常。有关更多详细信息,请参阅例外。
对于 HTTP 缓存支持,处理程序可以使用checkNotModified
的方法WebRequest
,
以及带注释的控制器的更多选项,如 控制器的 HTTP 缓存中所述。
您可以自定义单个DispatcherServlet
实例
初始化参数 (init-param
元素)添加到web.xml
文件。下表列出了支持的参数:
参数 | 解释 |
---|---|
|
实现 |
|
传递给上下文实例(由 |
|
的命名空间 |
|
是否抛出 从 6.1 开始,此属性设置为 请注意,如果默认 servlet 处理为 此外,未解析的请求始终转发到默认 servlet 并且 404 永远不会提高。 |