【SpringMvc学习笔记(二)】入门案例Demo以及RequestMapping详解

1、首先,我们需要创建一个Maven-webapp项目,并且在pom.xml中导入坐标依赖:




  4.0.0

  com.ysw
  springmvc_day01_01_start
  1.0-SNAPSHOT
  war

  springmvc_day01_01_start Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.8
    1.8
    
    5.0.2.RELEASE
  

  
    
    
      org.springframework
      spring-context
      ${spring.version}
    

    
      org.springframework
      spring-web
      ${spring.version}
    

    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    

    
    
      javax.servlet
      servlet-api
      2.5
      provided
    

    
    
      javax.servlet.jsp
      jsp-api
      2.0
      provided
    

    
    
      junit
      junit
      4.11
      test
    
  

  
    springmvc_day01_01_start
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
  

2、导入坐标依赖成功之后,我们在webapp目录下创建一个index.jsp文件,用于案例的测试:

<%--
  Created by IntelliJ IDEA.
  User: Simon
  Date: 2020/3/6
  Time: 19:20
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



    

入门程序

入门程序 RequestMapping注解

3、随后定义一个error.jsp页面,用于从controller层跳转到该页面:

<%--
  Created by IntelliJ IDEA.
  User: Simon
  Date: 2020/3/6
  Time: 19:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



    

自定义的视图解析器测试

4、随后,我们在WEB-INF目录下的web.xml文件中创建一个自动加载我们SpringMvc.xml配置文件的资源,并且还要配置在第一次请求的时候就加载该SpringMvc.xml的配置文件,自动加载配置文件的路径:




  Archetype Created Web Application

  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet

    
      contextConfigLocation
      
      classpath:SpringMvc.xml
    

    
    1

  

  
  
    dispatcherServlet
    /
  

5、到此,我们就可以在resources目录下创建SpringMvc.xml配置文件了,这个配置文件主要执行三个操作。第一,开启扫描包注解;第二,配置视图解析器,用于controller成功返回的时候跳转到指定目录的路径所用的(主要是指定文件前缀目录以及文件的后缀)。第三,开启SpringMvc框架对注解的支持。




    
    

    
    
        
        
        
        
        
    

    
    

6、最后编写我们的controller层代码,这里我们要对我们的类使用注解@Controller,用于将当前全限定类名存入Spring的IoC核心容器。同时该类名还可以通过使用@RequestMapping("/url")的方式指定要访问到该controller的路径。最后我们在方法中可以使用@RequestMapping("/url")来指定访问该方法的url。

     如果该controller层中的方法是String类型的返回值的话,这个返回值可以直接return一个.jsp文件的文件名,并且不需要后缀。因为在配置视图解析器的时候就已经配置好了的文件名后缀了。

     同时,我们还可以在@RequestMapping中使用:

     value、path、method(用于指定参数传递使用的是GET还是POST)、params(用于指定在传递参数的时候所传过来的参数名,这里在前端jsp页面跳转进来的时候,url地址一定要带上参数,否则是无法进入controller层的)。

package com.ysw.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * 控制器类
 */
@Controller
@RequestMapping(path = "/user")
public class HelloController {

    @RequestMapping(path = "/hello") //请求映射
    public String sayHello(){
        System.out.println("Hello SpringMvc");
        //返回可以直接跳转路径,一般默认的是jsp的文件名
        return "error";
    }

    /**
     * method可以用于指定参数传递的方法是get还是post
     * params是用于指定在传过来的时候一定要有一个参数,不传的话不会执行
     *
     * @return
     */
    @RequestMapping(path = "/testRequestMapping",
            method = {RequestMethod.GET},
            params = {"username"})
    public String testRequestMapping(){
        System.out.println("测试requestMapping....");
        return "error";
    }

}

项目结构图如下所示:

【SpringMvc学习笔记(二)】入门案例Demo以及RequestMapping详解_第1张图片

你可能感兴趣的:(SpringMvc)