[Spring MVC学习02]URL地址映射

1.@RequestMapping的介绍

  • 通过@RequestMapping,我们可以把请求地址和方法进行绑定的,可以在类、方法上进行声明。
  • 类级别的注解负责把一个特定的请求路径映射到一个控制器上,把URL和类绑定
  • 通过方法级别的注解可以细化映射,可以把一个特定的请求路径映射到某一个具体的方法,把URL和类的方法绑定

2.映射单个URL

@RequestMapping中有一个value属性用来映射url,如果不写的话,默认就是value属性
在这里插入图片描述

在这里插入图片描述

3.映射多个URL

@RequestMapping({" ", " "})

   @RequestMapping({"/test02_01","/test02_02"})
    public ModelAndView test02(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test01");
        modelAndView.setViewName("hello");
        return modelAndView;
    }

在这里插入图片描述
在这里插入图片描述

4.映射URL在控制器上

@RequestMapping如果用在类上面,就表示这个类里面的所有响应请求都是以该地址作为父路径

@Controller
@RequestMapping("/url")
public class UrlController {
    @RequestMapping("/test01")
    public ModelAndView test01(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test01");
        modelAndView.setViewName("hello");
        return modelAndView;
    }
    @RequestMapping({"/test02_01","/test02_02"})
    public ModelAndView test02(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test02");
        modelAndView.setViewName("hello");
        return modelAndView;
    }
    @RequestMapping("/test03")
    public ModelAndView test03(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test03");
        modelAndView.setViewName("hello");
        return modelAndView;
    }
}

在这里插入图片描述

5.@RequestMapping的常用属性

5.1value属性

指定控制器的方法URI

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

5.2method属性

指定请求的method类型,可以接受GET,POST,PUT,DELETE等,默认是可以接收GET请求和POST请求

    @RequestMapping(value = "/test01",method = RequestMethod.PUT)
    public ModelAndView test01(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test01");
        modelAndView.setViewName("hello");
        return modelAndView;
    }

5.3params属性

params:指定request中必须包含某些参数值,才让该方法处理。

   @RequestMapping(value = "/test04",params = "id")
    public ModelAndView test04(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("hello", "test04");
        modelAndView.setViewName("hello");
        return modelAndView;
    }

在这里插入图片描述
如果请求路径没有id则报错
在这里插入图片描述
而且params还可以指定请求中属性值必须为多少
在这里插入图片描述

6.小结

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Spring MVC中,映射器(Handler Mapping)是用来将请求映射到相应的处理器(Handler)的组件。有几种常用的映射器可以选择使用。 一种常用的映射器是BeanNameUrlHandlerMapping。它根据配置的Bean名称来找到相应的处理器。使用BeanNameUrlHandlerMapping,你需要先配置好相应的Bean,并指定它们的名称。可以通过XML配置bean,也可以使用注解@Controller来指定名称,并通过<context:component-scan>来扫描获取Bean。然后,你可以配置BeanNameUrlHandlerMapping并指定要使用的Bean名称。例如: ``` <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" id="handlerMapping"> <property name="beanName" value="/hello"/> </bean> ``` 另一种常用的映射器是SimpleUrlHandlerMapping。它通过配置URL和对应的处理器的映射关系来处理请求。使用SimpleUrlHandlerMapping时,你可以直接指定URL和对应的处理器名称。例如: ``` <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" id="handlerMapping"> <property name="mappings"> <props> <prop key="/hello">myController</prop> <prop key="/hello2">myController2</prop> </props> </property> </bean> ``` 无论是使用哪种映射器,Spring MVC都会根据请求的URL来选择合适的处理器进行处理。这样就可以实现将请求映射到相应的处理器上,从而完成请求的处理过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Springmvc处理器映射器](https://blog.csdn.net/qq_32015565/article/details/122516587)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [小白学习SpringMVC(映射器理解)](https://blog.csdn.net/hjs_75187712/article/details/119917598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不断前进的皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值