spring webMVC 心得

1.Spring的数据绑定(data binding)是非常灵活的,例如,它将类型失配(type mismatches)作为能够为应用程序所评估的验证错误(validation errors),而不非系统错误(system errors)。从而,你不需要在form对象中将你业务对象的属性作为String进行复制,只需能够处理无效的提交或正确转换字符串即可

2.Spring中的ApplicationContext是有作用域的。在Web框架中,每个DispatcherServlet有其自己的WebApplicationContext,其包含了DispatcherServlet的配置bean。DispatcherServlet所使用的缺省BeanFactory为XMLBeanFactory,并且DispatcherServlet在初始化时将会在你web应用的WEB-INF目录下查找名为[servlet-name]-servlet.xml的文件

3.当一个DispatcherServlet被配置好以供使用,并且针对该特定DispacherServlet的一个请求进来时,其便开始处理它。下面列表描述了请求在被DispatcherServlet进行处理时所经历的完整的过程:

3_1、索WebApplicationContext并将其作为属性绑定到请求中,以便于控制器和处理链中的其他元素使用。缺省情况下,它被绑定在DispatcherServlet的WEB_APPLICATION_CONTEXT_ATTRIBUTE键值上。

3_2、本地化解析器被绑定到请求中,使得在请求处理(呈现视图,准备数据等等)时位于链中解决本地化的元素来使用。如果你没有使用解析器,它不会影响任何事物,因此,如果你不需要本地化的解析,便无需为此操心。

3_3、 主题解析器被绑定到请求中,可由视图来决定使用哪些主题(如果你不需要主题,则不必管它,如果你不用它,解析器也只是被进行绑定而不会影响到任何东西)。

3_4、如果指定了multipart解析器,则需要对请求进行multipart检查,如果这样的话,它会被封装到MultipartHttpServletRequest中,使得链中的其他元素作进一步的处理(更多关于分段式处理的内容请参见下文)。

3_5、搜索适当的处理器。如果一个处理器被绑定,与处理器(预处理器,后处理器,控制器)相关的执行链将会次序执行以准备出一个model。

3_6、如果返回一个model,使用由WebApplicationContext所配置的视图解析器来呈现视图。如果没有model返回(可能是因为实例安全的原因预处理器或后处理器截获了请求),也便不会呈现视图,因为请求可能已经完成

你可能感兴趣的:(spring,Web,框架,bean,servlet)