SpringMVC是一种基于JAVA实现MVC模型的轻量级web框架

1.  请求与响应

2.  REST风格

3.  SSM整合

4.  拦截器

模拟请求测试工具:PostMan

¤  使用SpringMVC需要导入SpringMVC坐标和Servlet坐标

<dependency>

  <groupId>javax.servlet</groupId>

  <artifactId>javax.servlet-api</artifactId>

  <version>3.1.0</version>

  <scope>provided</scope>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-webmvc</artifactId>

  <version>5.2.10.RELEASE</version>

</dependency>

¤  创建SpringMVC控制器类(等同于Servlet功能)

@Controller

public class UserController

{

  @RequestMapping("/save")

  @ResponseBody

  public String save(string name)

  {

    return "";

  }

}

¤  初始化SpringMVC环境,设定SpringMVC加载的Bean

@Configuration

@ComponentScan("com.feiyan.controller")

public class SpringMvcConfig

{

}

¤  初始化Servlet容器,加载SpringMVC环境,交设置SpringMVC技术处理的请求

  ♦  第一种写法:

public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer

{

  protected WebApplicationContext createServletApplicationContext()

  {

    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();

    ctx.register(SpringMvcConfig.class);

    return ctx;

  }

 

  protected String[] getServletMappings()

  {

    return new String[]{"/"};

  }

 

  protected WebApplicationContext createRootApplicationContext()

  {

    

    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();

    ctx.register(SpringConfig.class);

    return ctx;

  }

}

  ♦  第二种写法

  

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer

{

  protected Class<?>[] getServletConfigClasses()

  {

    return new class[]{SpringMvcConfig.class};

  }

 

  protected String[] getServletMappings()

  {

    return new String[]{"/"};

  }

 

  protected Class<?>[] getRootConfigClasses()

  {

    return new class[]{SpringConfig.class};

  }

}

¤  添加tomcat插件配置

<build>

  <plugins>

    <plugin>

      <groupId>org.apache.tomcat.maven</groupId>

      <artifactId>tomcat7-maven-plugin</artifactId>

      <version>2.1</version>

      <configuration>

        <port>80</port>

        <path>/</path>

      </configuration>

    </plugin>

  </plugins>

</build>