`
dyllove98
  • 浏览: 1405388 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:39058
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:80060
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133167
社区版块
存档分类
最新评论

关于Spring MVC 4,你需要知道的那些事

阅读更多

  Spring MVC,又名Spring Web MVC,是一款主流的Web MVC框架,与Struts2框架类似,其主要目的是构建Web应用程序的全功能MVC模块,在View层和Controller层之间进行映射,完成View层和Model层之间的数据转换。

 

    Spring MVC框架通过 DispatcherServlet 分发请求处理程序,包括可配置的映射,视图解决方案,语言,时区,主题以及上传文件。默认的处理器是基于 @Controller 和 @RequestMapping 注解处理各种方法。从 Spring 3.0开始, @Controller 机制允许用户通过 @PathVariable 注解及其它特性创建 RESTful Web站点和应用。

 

    Spring Web MVC的一个关键原则是对扩展开放,对修改封闭,也即我们常说的“开闭原则”。所以Spring Web MVC核心类中的一些方法被标记为 final 类型的。

   

    在 Spring Web MVC中,用户可以将任何对象作为命令或者请求访问的对象,而不需要实现特定framework框架的接口或基类。Spring的数据绑定机制是非常灵活的:比如,它能把类型匹配错误当做验证性错误处理而不是系统错误,这样错误类型就成为可评估的错误。尽管它像你不需要重复的业务对象的属性一样简单,表单中的无类型字符串简单处理无效的提交,或将字符串转为合法的类型。但它通常是可以直接绑定的业务对象。

 

    Spring的解决方案通常是非常灵活的。 Controller 的职责是选择一个视图并数据映射到该视图上,当然 Controller 也能够直接写输出流来完成请求。 视图机制是高可配的,通过文件扩展名,Accept header头类型,bean名称,属性文件以及自定义的 ViewResolver实现。MVC中的 model是 Map 接口,它允许完整的抽象视图技术,可以与JSP,Velocity及Freemarker这样基于模板的渲染技术集成,也可以生成XML, JSON, Atom以及其它类型的内容。 Map 模型很容易转换成其它的格式,比如JSP请求属性,Velocity模板模型。

 

    Spring MVC 4特性:

    

  1. 角色分离:controller, validator, command object, form object, model object, DispatherServlet, handler mapping, view resolver等等都可以单独实现。

  2. 强大简单的配置框架及应用类作为JavaBeans:配置包括简单的上下文引用,比如web前端控制器对业务对象以及验证器的引用。

  3. 适应性,灵活性,无侵入性:可以使用诸如@RequestParam, @RequestHeader, @Pathvariable这样的注解定义任意控制器的方法签名。

  4. 可重用业务代码:使用存在的业务对象当做command object或 form object,而不是继承框架的基类当做镜像。

  5. 可定制的绑定和验证机制:类型不匹配当做应用级别的验证错误,使用传值,本地化日期和数据绑定等替代将手动将对象转为字符串或转换为业务对象。

  6. 可定制的handler映射和视图机制。Handler映射和视图机制从简单的URL配置到复杂的,专门的解决策略都能处理。

  7. 灵活的模型转移机制:使用Map中key/value这样的模型转移机制很容易与其他视图技术集成。

  8. 支持国际化,支持时区,支持主题,支持JSP,支持JSTL,支持Velocity等。

  9. JSP标签库,又称Spring标签库支持数据绑定和主题。

     

    关于Spring MVC,开发者使用最多的是其 DispatcherServlet转发,通过注解@Controller配置转发路径,并通过ModelAndView返回视图,这也是Web MVC的主要内容。Spring MVC各版本的内容相差不大,学会了一个版本的使用,其它版本也就会使用了。

欢迎大家访问我的个人网站 萌萌的IT人
1
0
分享到:
评论

相关推荐

    精通Spring MVC 4

    Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件...

    Mastering Spring MVC 4(2015.09)源码

    总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了深入学习Spring MVC的机会,你可以通过阅读和分析源码来了解如何配置DispatcherServlet、怎样编写控制器、如何进行数据绑定与验证,以及如何利用拦截器等特性...

    Spring MVC jar包

    总之,这个压缩包提供了开发基于Spring MVC和Hibernate的Java Web应用所需要的基础资源,无论是初学者还是经验丰富的开发者,都能从中受益。通过学习和实践这些内容,可以提高开发效率,降低维护成本,并提升应用...

    《精通Spring MVC 4》源码

    《精通Spring MVC 4》源码是一份宝贵的资源,它为开发者提供了深入理解Spring MVC这一流行Web框架的机会。Spring MVC是Spring框架的一部分,专门用于构建高效、可维护的Web应用程序。通过阅读和研究这些源码,我们...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一...通过学习这个教程,你可以提高你的Web开发技能,更好地利用Spring MVC来构建高质量的Java Web应用。

    Spring MVC使用Demo

    在理解Spring MVC的工作原理时,我们需要知道DispatcherServlet的角色。它是Spring MVC的前端控制器,接收所有HTTP请求,然后根据请求信息选择合适的HandlerMapping找到对应处理器(Controller方法)。处理器执行后...

    Spring MVC 4 Quickstart Maven Archetype

    Spring MVC 4 Quickstart Maven Archetype 是一个快速启动模板,专为构建基于Spring MVC 4的无XML(no-xml)Web应用程序而设计。这个模板简化了开发过程,通过Maven构建工具帮助开发者快速搭建一个功能完备的Web应用...

    Spring MVC所需jar包

    4. **Servlet 相关库**:Spring MVC 需要与 Servlet 容器进行交互,因此需要 `servlet-api.jar` 和 `jsp-api.jar`。这两个 jar 包通常由服务器提供,但在开发环境中可能需要手动添加。 5. **JSTL(JavaServer Pages...

    Spring MVC 4.2.3

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...

    Spring MVC 教程快速入门 深入分析

    十六、Spring MVC关于写几个配置文件的说明:介绍了在Spring MVC项目中需要配置哪些文件以及这些文件的作用,包括DispatcherServlet的配置文件、web.xml配置等。 十七、Spring MVC如何取得Spring管理的bean:阐述了...

    spring MVC简单示例

    这个"spring MVC简单示例"是为了帮助初学者理解Spring MVC的基本工作原理和配置,通过实践这个例子,你可以了解到如何创建一个简单的Controller、配置视图解析器并建立一个基本的请求处理流程。随着对Spring MVC的...

    spring MVC配置详解

    Spring 2.5.6 需要引入的 jar 包有 spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar 等。Hibernate 3.6.8 需要引入的 jar 包有 hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar...

Global site tag (gtag.js) - Google Analytics