SpringMVC简介、简单使用

MVC设计模式

Model View Controller,模型视图控制器,是一种用于设计创建web应用程序表现层的模式,MVC中每一个部分各司其职

  • Model:数据模型,作用一般情况用于封装数据
  • View:jsp或html,用来展示数据
  • Controller:处理用户的请求

SpringMVC

Spring为表现层提供了基于MVC设计理念的优秀Web框架

SpringMVC中的组件

  • 前端控制器 DispatcherServlet
    • 它是整个流程的控制中心
  • 处理器映射器 HandlerMapping
    • 根据用户请求的地址将请求指向指定的Handler
  • 处理器适配器 HandlerAdapter
    • 经过适配器才会到真正的Handler(适配器模式)
  • 处理器 Handler
    • 完成处理请求的工作,开发中具体业务实现的地方
  • 视图解析器 View Resolver
    • 将处理结果进行生成视图
  • 视图 View
    • SpringMVC支持多种View视图类型,我们常用jsp。展示给用户的页面,开发中具体的前端页面

快速使用

1、导入SpringMVC需要的依赖

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.1</version>
    </dependency>

2、在web.xml中配置SpringMVC的核心控制器

  <!-- 配置SpringMVC的核心控制器DispatcherServlet-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置初始化参数(如:核心配置文件)-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

3、创建一个Controller

@Controller
public class HelloWordController {

    /**
     * method:设置请求方式,如果请求方式不同,会报错405
     * params:设置请求中的参数,如果不匹配,会报错400
     * @return 页面文件的名称,如:返回到名字为success.jsp的页面
     */
    @RequestMapping(value = "/hello")
    public String hello(){
        System.out.println("=============请求到达控制器===========");
        return "success";
    }
}

4、创建一个view,(WEB-INF下创建一个views目录,创建一个success.jsp页面)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>hello</title>
</head>
<body>
<h2>SpringMVC HelloWorld</h2>

</body>
</html>

5、配置spring-mvc.xml配置文件

    <!-- -->
	<context:component-scan base-package="com.zxy.controller"/>

    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

6、启动tomcat浏览器访问Controller中@RequestMapping中的映射地址:

在这里插入图片描述

SpringMVC的执行流程

简单的使用SpringMVC框架,让我们看到了简单的显示,现在来看一下它的具体执行过程
在这里插入图片描述

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调用处理器映射器HandlerMapping
  3. HandlerMapping找到具体的处理器,并生成处理器对象,以及处理器拦截器,如果有则生成,并返回给DispatcherServlet
  4. DispatcherServlet调用处理器适配器HandlerAdapter
  5. HandlerAdapter经过适配调用具体的处理器Controller
  6. Controller处理请求后返回一个ModelAndView
  7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
  8. DispatcherServlet将ModelAndView传给视图解析器ViewResolver
  9. ViewResolver解析后,返回具体的View对象
  10. DispatcherServlet根据View进行渲染(就是将数据填充)
  11. DispatcherServlet响应给用户

SpringMVC中的注解

@Controller

作用:负责处理DispatcherServlet分发的请求。把用户请求的数据经过业务处理层处理之后封装成一个Model,然后把该Model返回给对应的View进行展示。

@RequestMapping

作用:用于建立请求的URL和处理方法之间的对应关系

位置:

  • 类上:请求URL的第一级访问目录,此处不写的话,就像相当于应用的根目录
  • 方法上:请求URL的第二级访问目录,与类上的使用@RequestMapping注解的一级目录一起组成访问虚拟路径。

属性:

  • value:用于指定请求的URL,它和path属性的作用是一样的
  • method:用于指定请求的方式
  • params:用于指定限制请求参数的条件,它支持简单的表达式,要求请求参数的key和value必须和配置的一模一样
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值