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