SpringMVC学习笔记02-------第一个SpringMVC程序


在上一节中,我们讲解了 什么是SpringMVC以及它的执行原理!

现在我们来看看如何快速使用SpringMVC编写我们的程序吧!

方式一: 配置版

  1. 第一步: 创建一个maven项目,引入所需依赖

    
    
        org.springframework
        spring-webmvc
        5.3.15
    
    
        javax.servlet
        javax.servlet-api
        4.0.1
    
    
  2. 第二步:右击项目,将该项目改为web项目

  3. 第三步:创建SpringMVC配置文件applicationContext.xml

       <?xml version="1.0" encoding="UTF-8"?>
       
     
    
  4. 第四步: 在applicationContext.xml配置文件配置处理器映射器、处理器适配器以及视图解析器

      
      
      
      
    
    
      
      
          
          
          
          
      
    
      
      
    
  5. 第五步:在web项目下的web.xml文件中配置DispatcherServlet

     
         dispatcherServlet
         org.springframework.web.servlet.DispatcherServlet
         
             contextConfigLocation
             classpath:applicationContext.xml
         
         1
     
     
         dispatcherServlet
         
         /
     
    
  6. 第六步:编写HelloController,实现Spring的Controller接口

      package com.xdw.controller;
    
      import org.springframework.web.servlet.ModelAndView;
      import org.springframework.web.servlet.mvc.Controller;
    
      public class HelloController implements Controller {
    
          @Override
          public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception {
              ModelAndView mv = new ModelAndView();
              mv.addObject("msg", "Hello World!");
              // 因为视图解析器中配置了前缀与后缀,会自动寻找/WEB-INF/jsp目录下的.jsp文件
              mv.setViewName("hello");
              return mv;
          }
      }
    
    
  7. 第七步:在applicationContext.xml文件中注册我们刚刚新建的HelloController

        
        
    
  8. 在WEB-INF/jsp目录下创建hello.jsp

       <%@ page contentType="text/html;charset=UTF-8" language="java" %>
       
       
           注解跳转页
       
       
           ${msg}
       
       
    
  9. 第八步:配置tomcat,启动项目,测试!

可能遇到的问题:访问出现404,排查步骤

  • 查看控制台输出,看一下是不是缺少了什么jar包。
  • 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
  • 重启Tomcat 即可解决!

从上述流程,我们可以看出有点麻烦,在实际的开发过程中,我们通常都使用注解方式!

方式二:注解版

  1. 创建maven项目,引入对应依赖

  2. 将创建好的项目变为web项目

  3. 创建SpringMVC的配置文件applicationContext.xml

  4. 在创建好的applicationContext.xml配置文件中配置处理器映射器,处理器适配器以及视图解析器

          
    
    
          
          
          
          
          
          
          
    
    
          
          
              
              
          
    
      
    
  5. web.xml 文件中配置 DispatcherServlet

      
         dispatcherServlet
         org.springframework.web.servlet.DispatcherServlet
         
             contextConfigLocation
             classpath:applicationContext.xml
         
         1
     
     
         dispatcherServlet
         /
     
    
  6. 编写HelloCOntroller

      package com.xdw.controller;
    
      import org.springframework.stereotype.Controller;
      import org.springframework.ui.Model;
      import org.springframework.web.bind.annotation.RequestMapping;
    
      @Controller
      public class HelloController {
    
          @RequestMapping("/hello")
          public String hello(Model model) {
              model.addAttribute("msg", "注解版,你好!");
              return "hello";
          }
      }
    
    
    • @Controller是为了让Spring IOC容器初始化时自动扫描到;

    • @RequestMapping是为了映射请求路径,这里因为只有方法上都有映射所以访问时应该是/hello;

    • 方法中声明Model类型的参数是为了把Action中的数据带到视图中;

    • 方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp。

  7. 在WEB-INF/jsp目录下创建hello.jsp

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      
      
          注解跳转页
      
      
          ${msg}
      
      
    
  8. 配置Tomcat,启动项目测试!

小结

实现步骤其实非常的简单:

  1. 新建一个web项目

  2. 导入相关jar包

  3. 编写web.xml , 注册DispatcherServlet

  4. 编写springmvc配置文件

  5. 接下来就是去创建对应的控制类 , controller

  6. 最后完善前端视图和controller之间的对应

  7. 测试运行调试.

使用springMVC必须配置的三大件:处理器映射器、处理器适配器、视图解析器

通常,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置