3.springmvc之@RequestMapping

本文介绍了Spring MVC中的@RequestMapping注解的使用,包括方法和类级别的应用,以及如何避免重复的映射值。此外,详细讲解了@PathVariable用于处理URL占位符参数的方法,并阐述了RESTful架构风格的概念、优点和HTTP方法在资源操作中的应用。
摘要由CSDN通过智能技术生成

3.springmvc之@RequestMapping

@RequestMapping

​ @RequestMapping用来匹配客户端发送的请求,可以在方法上使用,也可以在类上使用。

​ 方法:表示用来匹配要处理的请求

​ 类上:表示为当前类的所有方法的请求地址添加一个前置路径,访问的时候必须要添加此路径

package com.yangchao.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/yangchao")
public class HelloController{
   

    /*
    * @RequestMapping就是用来标识此方法用来处理什么请求,其中的/可以取消
    * 取消后默认也是从当前项目的根目录开始查找,一般在编写的时候看个人习惯
    * 同时,@RequestMapping也可以用来加在类上,
    * */
    @RequestMapping("/hello")
    public String hello(Model model){
   
        model.addAttribute("msg","hello,SpringMVC");
        return "hello";
    }
}

注意:在整个项目的不同方法上不能包含相同的@RequestMapping值

​ 除此以外,@RequestMapping注解还可以添加很多额外的属性值,用来精确匹配请求

package com.yangchao.controller;

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

@Controller
@RequestMapping("/yangchao")
public class HelloController{
   

    /*
    * @RequestMapping就是用来标识此方法用来处理什么请求,其中的/可以取消
    * 取消后默认也是从当前项目的根目录开始查找,一般在编写的时候看个人习惯
    * 同时,@RequestMapping也可以用来加在类上,
    * */
    @RequestMapping("/hello")
    public String hello(Model model){
   
        model.addAttribute("msg","hello,SpringMVC");
        return "hello";
    }

    /**
     * Request的其他属性值
     *  value:要匹配的请求
     *  method:限制发送请求的方式: POST GET
     *  params:表示请求要接受的参数,如果定义了这个属性,那么发送的时候必须要添加参数
     *         params有几种匹配规则
     *          1、直接写参数的名称,param1,param2
     *              params = {"username"}
     *          2、表示请求不能包含的参数,!param1
     *              params = {"!username"}
     *          3、表示请求中需要要包含的参数但是可以限制值 param1=values  param1!=value
     *              params = {"username=123","age"}
     *              params = {"username!=123","age"}
     *  headers:填写请求头信息
     *          chrome:User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36
     *          firefox:User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
     *
     *  consumers:只接受内容类型是哪种的请求,相当于指定Content-Type
     *  produces:返回的内容类型 Content-Type:text/html;charset=utf-8
     *
     * @return
     */
    @RequestMapping(value = "/hello2",method = RequestMethod.POST)
    public String hello2(){
   
        return "hello";
    }

    @RequestMapping(value = "/hello3",params = {
   "username!=123","age"})
    public String hello3(String username){
   
        System.out.println(username);
        return "hello"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值