SpringMVC详解----Web层

1. SpringMVC的组件

a. 前端控制器(DispatcherServlet)
本质上是一个Servlet,相当于一个中转站,所有的访问都会走到这个Servlet中,再根据配置进行中转到相应的Handler中进行处理,获取到数据和视图后,再使用相应视图做出响应。

b.处理器映射器(HandlerMapping)
本质上就是一段映射关系,将访问路径和对应的Handler存储为映射关系,再需要时供前端控制器查阅。

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

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

e.视图渲染(View)
本质上就是将handler处理器中返回的model数据嵌入到视图解析器解析后得到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. 配置处理器映射器中的路径和处理器的映射关系

在这里插入图片描述

  1. 配置视图解析器

在这里插入图片描述

  1. 开发视图

在这里插入图片描述

  1. 发布应用,通过浏览器访问

在这里插入图片描述
整体流程:
在这里插入图片描述

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。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值