12.2SpringMVC的重要API返回目录12..2·DispatcherServlet类12.2.2DiapatcherServlet类的辅助API12.2.3Controller接口..ModelAndView类12.2.4
12.2 Spring MVC的重要API 12.2.1 DispatcherServlet类 返回目录 12.2.2 DiapatcherServlet类的辅助API 12.2.3 Controller接口 12.2.4 ModelAndView类
12.2SpringMVC的重要API12.2.1DispatcherServlet类12.1.3节介绍过,DispatcherServlet是前端控制器,是整个流程控制的中心。实际上,作为SpringMVC程序的入口,DispatcherServlet首先是一个普通的Servlet类,因此,要想让DispatcherServlet类实现功能,首先要在web.xml文件中配置DispatcherServlet。.:DispatcherServlet类的配置和普通Servlet类相同,具体如下所示
12.2 Spring MVC的重要API 12.2.1 DispatcherServlet类 • 12.1.3节介绍过,DispatcherServlet是前端控制器,是整个流程控制的中心。实际上,作为Spring MVC程序的入口,DispatcherServlet首先是一个普通的Servlet类,因此,要想让DispatcherServlet类 实现功能,首先要在web.xml文件中配置DispatcherServlet。 • DispatcherServlet类的配置和普通Servlet类相同,具体如下所示
12.2SpringMVC的重要API12.2.1DispatcherServlet类1<servlet>2<servlet-name>springMvC</servlet-name>3<servlet-class>org.springframework.web.servlet.Dispatcherservlet4</servlet-class>5<init-param>6<param-name>contextconfigLocation</param-name>7<param-value>/wEB-INF/springMVC-config.xml</param-value>8</init-param>9<load-on-startup>1</load-on-startup>10</servlet>11<!--访间DispatcherServlet对应的路径-->12<servlet-mapping>13<servlet-name>springMvC</servlet-name>14<url-pattern>/</url-pattern>15</servlet-mapping>
• 12.1.3节介绍过,DispatcherServlet是前端控制器,是整个流程控制的中心。实 际上,作为Spring MVC程序的入口,DispatcherServlet首先是一个普通的 Servlet类,因此,要想让DispatcherServlet类实现功能,首先要在web.xml文 件中配置DispatcherServlet。 • DispatcherServlet类的配置和普通Servlet类相同,具体如下所示。 1 <servlet> 2 <servlet-name>springMVC</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet 4 </servlet-class> 5 <init-param> 6 <param-name>contextConfigLocation</param-name> 7 <param-value>/WEB-INF/springMVC-config.xml</param-value> 8 </init-param> 9 <load-on-startup>1</load-on-startup> 10 </servlet> 11 <!- 访问 DispatcherServlet 对应的路径 -> 12 <servlet-mapping> 13 <servlet-name>springMVC</servlet-name> 14 <url-pattern>/</url-pattern> 15 </servlet-mapping> 1 12.2 Spring MVC的重要API 12.2.1 DispatcherServlet类
12.2SpringMVC的重要API12.2.1DispatcherServlet类:除了contextConfigLocation,还可以通过<param-name>的其他三个值来配置DispatcherServlet,它们分别是namespace、publishContext、publishEvents,其中,·namespace用于修改DispatcherServlet对应的命名空间;:publishContext用于指定是否将WebApplicationContext发布到ServletContext的属性列表中,如果允许发布,那么开发者可以通过ServletContext获取WebApplicationContext实例;:publishEvents用于指定当DispatcherServlet处理完一个请求后,是否需要向容器发布一个ServletRequestHandledEvent事件
• 除了contextConfigLocation,还可以通过<param-name>的其他三个值来配置DispatcherServlet, 它们分别是namespace、publishContext、publishEvents,其中, • namespace用于修改DispatcherServlet对应的命名空间; • publishContext用于指定是否将WebApplicationContext发布到ServletContext的属性列表中,如 果允许发布,那么开发者可以通过ServletContext获取WebApplicationContext实例; • publishEvents用于指定当DispatcherServlet处理完一个请求后,是否需要向容器发布一个 ServletRequestHandledEvent事件。 12.2 Spring MVC的重要API 12.2.1 DispatcherServlet类
12.2SpringMVC的重要API12.2.2DispatcherServlet类的辅助API:为了帮助DispatcherServlet类实现功能,SpringMVC提供了一些辅助API,这些辅助API是和SpringMVC中的组件相对应的且体加圭所描述名称接口,封装了处理客户端请求的方法,开发者可以在实现该接口的类中编写Controller处理具体业务逻辑的代码用于实现请求到处理器的映射,当映射成功时返回HandlerExecutionChain对HandlerMapping象,该对象中封装了一个Handler对象、多个Handlerlnterceptor对象适配器设计模式的具体应用,支持多种类型的处理器,调用处理器的HandlerAdapterhandleRequestO方法进行功能处理HandlerExceptionResolver用于处理器异常解析,可将异常提醒转至统一的错误界面ViewResolver用于将逻辑视图名解析为具体的View对象LocaleResolver&用于解析客户端使用的地区、时区信息,然后据此提供视图国家化的支持LocaleContextResolverMultipartResolver用于处理multi-part请求,例如,文件上传等ModelAndView用于封装逻辑视图名和模型数据信息
12.2.2 DispatcherServlet类的辅助API • 为了帮助DispatcherServlet类实现功能,Spring MVC提供了一些辅助API,这些辅助API是和Spring MVC中的组件相对应的,具体如表所示。 名称 描述 Controller 接口,封装了处理客户端请求的方法,开发者可以在实现该接口的类中编写 处理具体业务逻辑的代码 HandlerMapping 用于实现请求到处理器的映射,当映射成功时返回 HandlerExecutionChain 对 象,该对象中封装了一个 Handler 对象、多个 HandlerInterceptor 对象 HandlerAdapter 适配器设计模式的具体应用,支持多种类型的处理器,调用处理器的 handleRequest()方法进行功能处理 HandlerExceptionResolver 用于处理器异常解析,可将异常提醒转至统一的错误界面 ViewResolver 用于将逻辑视图名解析为具体的 View 对象 LocaleResolver & LocaleContextResolver 用于解析客户端使用的地区、时区信息,然后据此提供视图国家化的支持 MultipartResolver 用于处理 multi-part 请求,例如,文件上传等 ModelAndView 用于封装逻辑视图名和模型数据信息 12.2 Spring MVC的重要API