springMVC
概述
SpringMVC是一个WEB层、控制层框架,主要用来负责与客户端交互,业务逻辑的调用。
SpringMVC是Spring家族的一大组件.Spring整合SpringMVC可以做到无缝集成.
特点 简单易用性能佳。
为了么有了Servlet还要学SpringMVC
1.Servlet的开发配置相对麻烦,servlet特别多的时候web.xml文件将会非常臃肿
2.每个Servlet都只能处理一个功能,如果需要多个功能就需要开发多个Servlet,项目中存在大量Servlet显得臃肿。
3.获取请求参数 进行类型转换 封装数据到bean的 过程比较繁琐。
4.其他开发中不方便的地方,例如,乱码问题…数据格式处理…表单校验…
框架组成
流程组成
前端控制器:本质上是一个servlet,相当于一个中转站,所有的servlet都会走到这个中转站中,再根据配置进行中转到相应的Handler中进行处理,获取到数据和视图后,在使用相应视图做出响应。 Handler处理器
处理器映射器:本质上就是一段映射关系,将访问路径和对应的Handler存储为映射关系,在需要时供前端控制器查阅。
处理器适配器:本质上是一个适配器,可以根据要求找到对应的Handler来运行。前端控制器通过处理器映射器找到对应的Handler信息之后,将请求响应和对应的Handler信息交由处理器适配器处理,处理器适配器找到真正handler执行后,将结果即model和view返回给前端控制器。
视图解析器:本质上也是一种映射关系,可以将视图名称映射到真正的视图地址。前端控制器调用处理器适配完成后得到model和view,将view信息传给视图解析器得到真正的view。
视图:本质上就是将handler处理器中返回的model数据嵌入到视图解析器解析后得到的jsp页面中,向客户端做出响应。
执行流程
实现过程
配置文件方式实现过程
第一步:配置前端控制器
前端控制器,本质上是一个servlet,在当前web项目中配置servlet。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
第二步:生成SpringMVC的核心配置文件
SpringMVC默认会自动在web应用的WEB-INF目录下去寻找[前端控制器ServletName]-servlet.xml作为当前SpringMVC的核心配置文件。
创建这个文件,这个文件本身其实就是Spring的配置文件,所以导入Spring相关的约束信息,包括 beans、context、mvc
注:若配置文件中方法,则可调整核心配置文件位置及名称