Chinaunix首页 | 论坛 | 博客
  • 博客访问: 271751
  • 博文数量: 76
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 202
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-25 12:05
文章分类

全部博文(76)

文章存档

2016年(7)

2015年(2)

2014年(67)

我的朋友

分类: Web开发

2014-08-31 12:50:09

1.1 介绍Spring web mvc 框架
   1.1.1 MVC→模型-视图-控制器
   1.1.2 主要控制器:DispatcherServlet,在默认处理程序基于 @Controller 和 @RequestMapping 的注释,提供广泛的灵活的处理方法。与         Spring3.0 的介绍,@Controller 机制还允许您创建 rest 风格的 Web 站点和应用程序,通过 @PathVariable 注释和其他功能。
   1.1.3 在Spring web mvc 中你可以使用任何对象作为命令或窗体支持的对象 ;你不需要执行一个特定于框架的接口或基类。春天的数据绑定         是高度灵活: 例如,它对待类型不匹配,作为验证错误,可以通过计算由应用程序,而不是系统错误.
   1.1.4 Spring视图解析是非常灵活的。视图名称解析是通过文件扩展名或接受标头的内容类型进行谈判,通过 bean 的名称、 属性的文件或甚 至一个自定义的 ViewResolver 实现高度可配置的。(在 MVC 中 M) 模型是地图界面,允许完全抽象的视图技术。您可以直接集成基 于模板的渲染技术 (如 JSP、 速度和 Freemarker,或直接生成 XML、 JSON、 原子和许多其他类型的内容。地图模型简单地转化为适 当的格式,如 JSP 请求属性、 速度模板模型。

1.2 The DispatcherServlet控制器
     1.2.1 Spring mvc框架许多其他 web MVC 框架请求驱动的设计围绕中央Servlet分派控制器请求提供其他功能便于进行 web 应用程序开发。             SpringDispatcherServlet 然而确实只是这些Spring IoC 容器完全集成这样允许使用Spring具有每个其他功能下面关系图说明了请求处理           Spring Web MVC DispatcherServlet 工作流精通模式的读者认识到 DispatcherServlet 的"前端控制器"设计模式 (这模式许多其他领先                   的 web 框架共享Spring Web MVC 表达式
   
    如图:
       


        Spring Web MVC (高级别) 请求处理工作流程
        DispatcherServlet 实际的 Servlet (它 HttpServlet 基类继承),这样在 web 应用程序 web.xml 宣布
        
需要请求想要的 DispatcherServlet 处理通过相同web.xml 文件使用的 URL 映射映射标准的 Java EE Servlet 配置 
        
下面示例演示 DispatcherServlet 宣言映射
  1. <web-app>
  2.     <servlet>
  3.         <servlet-name>example</servlet-name>
  4.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5.         <load-on-startup>1</load-on-startup>
  6.     </servlet>

  7.     <servlet-mapping>
  8.         <servlet-name>example</servlet-name>
  9.         <url-pattern>/example/*url-pattern>
  10.     servlet-mapping>
  11. web-app>
        在前面示例 DispatcherServlet 实例命名示例处理所有请求都从 /example 开始 Servlet 3.0 + 环境可以以编程方式配置 Servlet
       
容器选择下面基于代码相当上面的 web.xml 示例
        
  1. public class MyWebApplicationInitializer implements WebApplicationInitializer {

  2.     @Override
  3.     public void onStartup(ServletContext container) {
  4.         ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet());
  5.         registration.setLoadOnStartup(1);
  6.         registration.addMapping("/example/*");
  7.     }

  8. }
        WebApplicationInitializer 检测到自动初始化任何 Servlet 3 容器提供Spring MVC确保基于代码的配置接口这个
        
名为 AbstractDispatcherServletInitializer的 interace 的一个抽象基类实现使容易通过简单地指定 servlet 映射注册DispatcherServlet
   
        Web MVC 框架每个 DispatcherServlet 都自己的 WebApplicationContext继承所有beans已经 WebApplicationContext 定义
        
 servlet 特定范围可以重写这些继承beans可以定义特定范围的 bean 本地一个给定的 Servlet 实例
       
       Spring Web MVC上下文结构:
       
        
        DispatcherServlet 初始化Spring MVC 查找文件命名为 [servlet 名称]-的 web应用程序 WEB-INF 目录的 servlet.xml 
        
创建 bean 定义那里重写任何具有相同名称全局范围内定义的 bean 定义
        请考虑下面的 DispatcherServlet Servlet 配置 (在 web.xml 文件中):
  1. <web-app>
  2.     <servlet>
  3.         <servlet-name>golfing</servlet-name>
  4.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5.         <load-on-startup>1</load-on-startup>
  6.     </servlet>
  7.     <servlet-mapping>
  8.         <servlet-name>golfing</servlet-name>
  9.         <url-pattern>/golfing/*url-pattern>
  10.     <servlet-mapping>
    1. web-app>
        






阅读(2360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~