1.如何使用Spring MVC?
- 在web.xml中配置一个DispatcherServlet
- DispatchServlet初始化的时候会去寻找一个在应用程序的WEB-INF目录下的配置文件,命名规则是:servletName-servlet.xml 其中servletName是在部署描述符(web.xml)中Dispatcherservlet的名字。
- 可以在所谓的配置文件中,扩展路径映射关系、定义视图解析器、定义业务逻辑处理流程规则。
- 此外,也可以把Spring MVC的配置文件放在应用程序目录中的任何地方且名称任意,此时用servlet定义的init-param元素指定配置文件的位置与名字 如下所示
1 <servlet> 2 <servlet-name>springmvc</servlet-name> 3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 4 <init-param> 5 <param-name>contextConfigLocation</param-name> 6 <param-value>classpath:spring/springmvc-context.xml</param-value> 7 </init-param> 8 <load-on-startup>1</load-on-startup> 9 </servlet> 10 <servlet-mapping> 11 <servlet-name>springmvc</servlet-name> 12 <url-pattern>/</url-pattern> 13 </servlet-mapping>
2.SpringMVC如何工作?
Spring MVC如何工作,主要看DispatcherServlet代码。
在Servlet的init方法调用时DispatcherServlet执行Spring MVC的初始化工作。初始化工作在initStrategies中完成,code如下:
1 protected void initStrategies(ApplicationContext context) { 2 initMultipartResolver(context); //文件上传服务 3 initLocaleResolver(context);//国际化问题 4 initThemeResolver(context);//定义主题 5 initHandlerMappings(context);//定义用户设置的请求映射关系 6 initHandlerAdapters(context);//根据handler的类型定义不同的处理规则 ??? 7 initHandlerExceptionResolvers(context);//handler出错时使用 8 initRequestToViewNameTranslator(context);//将指定的ViewName,加上前缀或者后缀 9 initViewResolvers(context);//将View解析成页面 10 initFlashMapManager(context); 11 }
时间: 2024-10-31 16:18:40