要了解SpringMVC,首先来看看MVC模型,对于表现层的框架一般都会采用MVC这种设计模型去做架构,MVC即:
-
M model 模型:实际上就是java中JavaBean的一个对象,用来封装数据;
-
V View 视图:其中指的是jsp技术或者HTML这种技术,用来显示;
-
C Controller 控制器:指的是像Servlet这种技术,能用来接收请求。
MVC这种设计模型的意思就是,发请求,请求先到达控制器(Controller),控制器接收请求,请求接收到之后,再用一个JavaBean(model)把拿到的数据封装起来,根据这个JavaBean中封装的数据就可以调用业务层进行业务处理,业务层如果再访问持久层的数据,也可以再把数据封装到JavaBean当中,最终可以把程序转发到jsp(view),jsp显示结果生成HTML响应给用户,这就是整个一个MVC模型,分工非常明确。
SpringMVC框架也是一个处于表现层的框架,是采用MVC模型来设计的,所以它能够接受请求,拿到请求参数,并进行数据的封装,还可以转发到jsp显示对应的数据。同时,它也是一个轻量级的web框架,它属于Spring FrameWork的一个后续产品,已经融合在Spring Web Flow中。做web开发可以选择SpringMVC这个框架,也可以选择别的框架(比如Struts2),因为最终Spring都可以帮你集成。但使用SpringMVC更有好处,因为SpringMVC属于Spring的一部分,SpringMVC和Spring的整合相比别的框架更加容易。
SpringMVC目前已经成为最主流的框架之一,并且随着Spring3.0的发布,已经全面超越Struts2,成为最优秀的MVC框架。
它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口,而如果我们使用Servlet,必须继承HttpServlet或者实现Servlet接口。同时它还支持RESTful编程风格的请求。