SpringMVC详解---Web层

1. SpringMVC的组件 

a. 前端控制器(DispatcherServlet) 前端

本质上是一个Servlet,至关于一个中转站,全部的访问都会走到这个Servlet中,再根据配置进行中转到相应的Handler中进行处理,获取到数据和视图后,再使用相应视图作出响应。  java

b.处理器映射器(HandlerMapping) web

本质上就是一段映射关系,将访问路径和对应的Handler存储为映射关系,再须要时供前端控制器查阅。  spring

c.处理器适配器(HandlerAdapter) 浏览器

本质上是一个适配器,能够根据要求找到对应的Handler来运行。前端控制器经过处理器映射器找到对应的Handler信息以后,将请求响应和对应的Handler信息交由处理器适配器处理,处理器适配器找到真正Handler执行后,将结果即modelAndview返回给前端控制器。  bash

d.视图解析器(ViewResolver) 服务器

本质上也是一种映射关系,能够将试图名称映射到真正的视图地址。前端控制器调用处理器适配完成后获得modle和view,将view信息传给视图解析器获得真正的view。  mvc

e.视图渲染(View) app

本质上就是将handler处理器中返回的model数据嵌入到视图解析器解析后获得jsp页面中,向客户端作出响应 jsp

图解:


2. SpringMVC入门案例 

1.建立Web项目,并导入SpringMVC相关开发包。 

2.配置前端控制器: 

本质上是一个servlet,再当前web项目中配置该servlet 

<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>复制代码

3.生成SpringMVC的核心配置文件 

SpringMVC默认会自动再web应用的WEB-INF目录下去寻找[前端控制器ServletName]-servlet.xml做为当前SpringMVC的核心配置文件。 

建立这个文件,这个文件自己就是Spring的配置文件,因此导入Spring相关的约束信息,包括beans、context、mvc 


4.建立处理器,编写代码 

想要开发一个处理器,写一个类实现Controller接口,在其中的handlerRequest中编写代码处理请求,并将处理好的数据和目标视图封装到ModelAndView中返回 

5.配置处理器映射器中的路径和处理器的映射关系 

6.配置视图解析器 


7.开发视图

 

8.发布应用,经过浏览器访问 


总体流程: 


3. 修改SpringMVC核心配置文件的位置 

SpringMVC默认在和web.xml相同的位置即WEB-INF目录下寻找核心配置文件,文件名默认[前端控制器Servlet-name]-servlet.xml 若是须要,能够经过配置,手动指定核心配置文件的位置,和文件的名称: 

<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-servlet.xml</param-value>
	</init-param>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>复制代码

4. SpringMVC的注解方式配置 

SpringMVC支持使用注解方式配置,比配置文件方式更加的灵活易用,是SpringMVC使用的主流模式。 

1 在配置文件中开启SpringMVC的注解模式

 

2.使用注解开发Controller 


3.发布应用,经过浏览器访问 


4.总体流程 


5.SpringMVC注解方式工做原理 

a. 当服务器启动时,先会加载web.xml,以后经过引入核心配置文件加载springmvc-servlet.xml。就会解析该xml配置文件。 

b. 当解析到包扫描时,扫描指定的包,并将含有@Controller注解的类解析为处理器。 

c.若是配置过mvc:annotation-driver/就会解析Spring-MVC注解 

d.解析@RequestMapping(value="/hello.action"),将指定的地址和当前方法的映射关系进行保存。 

e.当用户发出请求访问一个地址时,SpringMVC寻找该地址映射关系,若是存在,则找到响应处理器响应方法执行,若是找不到,则报404。 

最后

欢迎你们有兴趣的能够关注个人公众号【java小瓜哥的分享平台】,文章都会在里面更新,还有各类java的资料都是免费分享的。但愿与你们一块儿进步努力!

相关文章
相关标签/搜索