URL地址映射配置

URL地址映射配置

@RequestMapping

通过注解 @RequestMapping 将请求地址与方法进行绑定,可以在类级别和方法级别声明。类级别的注解负责将一个特定的请求路径映射到一个控制器上,将 url 和类绑定;通过方法级别的注解可以细化映射,能够将一个特定的请求路径映射到某个具体的方法上,将 url 和类的方法绑定。

映射单个 URL

@RequestMapping("") 或 @RequestMapping(value="")

package com.xxxx.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * URL地址映射配置
 *      @RequestMapping("映射地址")
 *      声明在方法上,表示请求路径与类中的方法绑定
 *      声明在类级别,表示请求的路径与类绑定
 *
 *      常用形式
 *          方法路径            /方法路径
 *          类路径+方法路径      /类路径/方法路径
 */
@Controller
public class UrlController {
    
    

    /**
     * @RequestMapping 声明在方法上面,映射单个 URL
     * 访问地址:(如果有类路径需要写在方法路径前面)
     * http://ip:port/springmvc01/url01
     * @return
     */
    @RequestMapping("url01")
    public ModelAndView url01(){
    
    
        ModelAndView mv = new ModelAndView();
        //设置模型数据
        mv.addObject("hello","url01");
        mv.setViewName("hello");
        return mv;
    }

    /**
     * 路径开头是否加 斜杠"/" 均可
     * @RequestMapping("/请求路径") 与 @RequestMapping("请求路径")均可
     * 建议加上,如:@RequestMapping("/url02")
     * 访问地址:(如果有类路径需要写在方法路径前面)
     * http://ip:port/springmvc01/url02
     * @return
     */
    @RequestMapping("/url02")
    public ModelAndView url02(){
    
    
        ModelAndView mv = new ModelAndView();
        //设置模型数据
        mv.addObject("hello","url02");
        mv.setViewName("hello");
        return mv;
    }

}

映射多个 URL

@RequestMapping({"",""}) 或 @RequestMapping(value={"",""})

package com.xxxx.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UrlController {
    
    

    /**
     *  @RequestMapping 声明在方法上面,映射多个 URL
     * 支持一个方法绑定多个 url 的操作
     * 访问地址:(如果有类路径需要写在方法路径前面)
     * http://ip:port/springmvc01/url03_01
     * http://ip:port/springmvc01/url03_02
     * @return */

    @RequestMapping({
    
    "/url03_01","/url03_02"})
    // @RequestMapping(value = {"/url03_01","/url03_02"})
    public ModelAndView test03(){
    
    
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello","url03");
        modelAndView.setViewName("hello");
        return modelAndView;
    }

}

映射 URL 在控制器上

用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

package com.xxxx.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("url")
public class UrlController {
    
    

	/** 
	* @RequestMapping 声明在类上面,类中的的方法都是以该地址作为父路径 
	* 声明级别: 
	* 	类级别 + 方法级别 (/类路径/方法路径) 
	*   访问地址: http://ip:port/springmvc/url/url04
	*   @return */
    @RequestMapping("/url04")
    public ModelAndView url04(){
    
    
        ModelAndView mv = new ModelAndView();
        //设置模型数据
        mv.addObject("hello","url04");
        mv.setViewName("hello");
        return mv;
    }
    
}

在这里插入图片描述

设置 URL 映射的请求方式

默认没有设置请求方式,在HTTP 请求中最常用的请求方法是 GET、POST,还有其他的一些方法,如:DELETE、PUT、HEAD 等。

可以通过 method 属性设置支持的请求方式,如 method=RequestMethod.POST;如设置多种请求方式,以大括号包围,逗号隔开即可。

package com.xxxx.springmvc.controller;

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

@Controller
@RequestMapping("url")
public class UrlController {
    
    

    /**
     * 设置请求方式
     * 通过 method 属性设置方法支持的请求方式,默认 GET请求和 POST等请求都支持。
     * 设置了请求方式,则只能按照指定的请求方式请求。
     * 访问地址:(只能使用POST请求访问)
     * http://ip:port/springmvc01/url/url05
     * @return
     */
    @RequestMapping(value = "url05",method = RequestMethod.POST)
    public ModelAndView url05(){
    
    
        ModelAndView mv = new ModelAndView();
        //设置模型数据
        mv.addObject("hello","url05");
        mv.setViewName("hello");
        return mv;
    }

}

浏览器默认使用Get请求方式。

在这里插入图片描述

PostMan测试Get请求

在这里插入图片描述

PostMan测试Post请求
在这里插入图片描述

通过参数名称映射 URL

package com.xxxx.springmvc.controller;

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

@Controller
@RequestMapping("url")
public class UrlController {
    
    

    /**
     * 通过参数名称访问
     * 通过参数的形式访问
     * 访问地址:http://ip:port/springmvc01/url?url06
     * @return
     */
    @RequestMapping(params = "url06")
    public ModelAndView url06(){
    
    
        ModelAndView mv = new ModelAndView();
        //设置模型数据
        mv.addObject("hello","url06");
        mv.setViewName("hello");
        return mv;
    }

}

在这里插入图片描述

Guess you like

Origin blog.csdn.net/lln1540295459/article/details/121180279