Spring's web framework-1

Posted on 2004-08-27 11:23  数码民工  阅读(628)  评论(1编辑  收藏  举报
spring的web框架,主要由DispatcherServlet来把请求分发处理。提供可配置的处理映射、视图、本地化、主题以及文件上传得支持。
缺省的处理是一个非常简单的控制器接口,仅仅是提供了一个返回ModalAndView的处理方法handleRequest(request,response)。你可以自己根据需要来建立command或者Form对象。这些对象是不需要扩展什么基类,可以通过spring的数据邦定来处理。在spring的web框架中不需要复制商业对象的属性到窗体对象。
视图的使用是更加灵活的,你可以使用各种视图技术,jsp,velocity或者其他。Controller返回一个ModelAndView对象,该对象包含了Command对象或者form对象,reference data等。
Spring的web框架和其他的web框架一样都是请求驱动框架。利用一个servlet来分发请求,在Spring中利用Dispatcherservlet。他定义在web.xml中,你可以使用url-mapping来处理你希望处理的请求。
<web-app>
...
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
上面表明,所有以.html结尾的请求都由DispatcherServlet来处理。
在web应用程序中,每个DispatcherServlet都有它自己的webApplicationContext。DispatcherServlet默认使用的BeanFactory是XmlBeanFactory,DispatcherServlet在使用WEB-INF目录下[servlet-name]-servlet.xml文件来初始化。
在一个普通的ApplicationContext进行了一些必要的扩展就形成了webApplicationContext。
DispatcherServlet初始化方法
protected void initFrameworkServlet() throws ServletException, BeansException {
 initMultipartResolver();
 initLocaleResolver();
 initThemeResolver();
 initHandlerMappings();
 initHandlerAdapters();
 initHandlerExceptionResolvers();
 initViewResolvers();
}

Copyright © 2024 数码民工
Powered by .NET 8.0 on Kubernetes