Spring MVC 01 - Spring MVC框架介绍

1. 在spring mvc框架之前,java语言的web应用程序结构主要为Servlet技术或JSP技术实现

1.1 Servlet技术实现Web应用程序











web应用程序会有很多servlet,web应用程序在服务器上运行,来自浏览器的请求到达服务器后,服务器为其分配相应的servlet处理业务,并通过java代码输出页面展示内容。

1.2 JSP技术实现Web应用程序


web应用程序会有很多JSP页面,web应用程序在服务器上运行,来自浏览器的请求到达服务器后,服务器为其分配相应的jsp页面处理业务并将处理结果在jsp页面中展示。

1.3 通过以上对servlet和Jsp应用程序的描述,可以看出,单独一个servlet就能处理一个请求的所有事务,jsp同样的道理。如果是简单的业务,这样处理是没有问题的;但大家都知道要建成一个网站将牵涉大量复杂的逻辑和多样的展示页面,如果还是用servlet或JSP技术处理,会非常艰难。

2. 通过上面描述,我们得出一个结论,servlet和JSP不适合复杂网站开发主要是因为它们把业务逻辑和页面展示混杂在一起了,这对开发和维护都造成了极大不便。spring mvc很好地解决了这个问题,spring mvc 分三个部分:

M - Model 指浏览器请求的数据内容,一般是携带数据的POJO类

V - View 指UI部分,只要负责对服务器返回内容的展示,可以是jsp页面、Velocity、Freemaker

C - Controller 指控制器,管理整个应用请求,它根据浏览器的请求调用相关服务生成model,并将该model传送到相应的view进行展示

以下我们看看使用spring mvc框架的web应用程序:


front controller(dispatcher servlet),front controller可以理解为一个公司的前台人员, browser发起的请求可以理解为前来拜访的客户,客户(browser request)来到公司(server),前台人员(front controller)会先咨询客户来访目的,并根据客户的要求给出相应的服务,前台(front controller)咨询目的和给出答复的过程,即为Handler Mapping,Handler Mapping会根据请求的url将处理该url的代码位置返回给front controller,front controller根据Handler Mapping指定的位置,调用相关代码,并获得处理结果。front controller得到处理结果后,它需要调用View Resolver来处理结果展示方法,View Resolver将展示方法告知front controller后,front controller调用相应的View进行结果展示,并将最终结果发给browser

猜你喜欢

转载自blog.csdn.net/u013537471/article/details/52988427