Spring MVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2等。

通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫开发者只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。

Spring MVC由模型(M)、视图(V)、控制器(C)构成:

模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.   如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

相关推荐

  1. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      41 阅读
  2. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      33 阅读
  3. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      34 阅读
  4. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      35 阅读
  5. <span style='color:red;'>springMVC</span>

    springMVC

    2023-12-08 00:54:01      27 阅读
  6. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      19 阅读
  7. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      27 阅读
  8. <span style='color:red;'>SpringMVC</span>

    SpringMVC

    2023-12-08 00:54:01      17 阅读
  9. SpringMVC

    2023-12-08 00:54:01       23 阅读
  10. <span style='color:red;'>springMVC</span>

    springMVC

    2023-12-08 00:54:01      17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 00:54:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 00:54:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 00:54:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 00:54:01       18 阅读

热门阅读

  1. C++ 设计模式 Forward Declaration & Pimpl

    2023-12-08 00:54:01       33 阅读
  2. flowable-engine-flowable-6.8.0.zip下载

    2023-12-08 00:54:01       39 阅读
  3. P2392 kkksc03考前临时抱佛脚

    2023-12-08 00:54:01       38 阅读
  4. std::async

    2023-12-08 00:54:01       46 阅读
  5. shell/bash 让vi/vim显示空格,及tab字符

    2023-12-08 00:54:01       38 阅读