加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

一起学SpringMVC之RequestMapping详解

发布时间:2020-12-15 01:17:26 所属栏目:大数据 来源:网络整理
导读:本文以一个简单的小例子,简述SpringMVC开发中RequestMapping的相关应用,仅供学习分享使用,如有不足之处,还请指正。 什么是RequestMapping? RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法

本文以一个简单的小例子,简述SpringMVC开发中RequestMapping的相关应用,仅供学习分享使用,如有不足之处,还请指正。

什么是RequestMapping?

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

RequestMapping的常见用法

1. RequestMapping默认值

如下所示:默认属性为value,即默认映射路径

 1 /**
 2      * 默认值,即为value对应的值
 3      * @RequestMapping("Mapping01")
 4      * @return
 5      */
 6     @RequestMapping("/Mapping01")
 7     public ModelAndView Mapping01(){
 8         System.out.println("Mapping01被调用了。。。。");
 9         ModelAndView mav=new ModelAndView();
10         mav.addObject("msg","HelloWorld,HelloSpringMVC!!!"11         //mav.setViewName("WEB-INF/jsps/HelloWorld.jsp");
12         mav.setViewName("HelloWorld"13         return mav;
14     }

2. ReqeustMapping的value和method属性

value表示映射的路径,是数组类型,可以映射多个路径,method表示前端请求的方式,如下所示:表示两个路径均可访问,且支持GET,POST两种方式访问。

     * value是一个数组,可以指定不同的路径
     * method也是一个数组,可以指定不同的访问方式
 6     @RequestMapping(value={"/Mapping02","Mapping0B"},method={RequestMethod.GET,RequestMethod.POST})
 ModelAndView Mapping02(){
 8         System.out.println("Mapping02被调用了。。。。"3. RequestMapping中的params

params表示访问能够获取的参数,如下所示:表示支持GET方式访问,且必须有uname参数才可以

     * value指定访问的路径,method指定访问的方式必须是GET方式
     * 且参数中必须有一个uname
 6     @RequestMapping(value="/Mapping03",method=RequestMethod.GET,params="uname" ModelAndView Mapping03(String uname){
 8         System.out.println("Mapping03被调用了。。。。"14     }

如下所示:表示访问路径中必须有uname和uage两个参数,且uage的值必须等于13才可以访问

     * 且参数中必须有一个uname,和uage,且uage必须等于13
 6     @RequestMapping(value="/Mapping04",params={"uname","uage=13"})
public ModelAndView Mapping04(String uname,int uage){
 8         System.out.println("Mapping04被调用了。。。。" 9         System.out.println("uname="+uname+",uage="+uage);
10         ModelAndView mav=11         mav.addObject("msg",1)">12         13         mav.setViewName("HelloWorld"14         15     }

4. RequestMapping中的headers

headers表示请求访问的头部信息,必须要满足指定的方式才可以访问。如下所示:

     * headers:指定请求访问的Header信息,必须要满足指定的方式才可以被访问
     * consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json,text/html;
 6     @RequestMapping(value="/Mapping05",headers="Accept=text/html,application/xhtml+xml,application/xml;" ModelAndView Mapping05(){
 8         System.out.println("Mapping05被调用了。。。。"14     }

?5.?RequestMapping中的produces

produces表示返回的Content-Type,如下所示:返回的Content-Type表示application/json的格式

     * 方法仅处理request请求中Accept头中包含了"application/json"的请求,
     * 同时指定返回的内容类型(Content-Type)为application/json;
 6     @RequestMapping(value="/Mapping06",produces="application/json" 7     @ResponseBody
 8      String[] Mapping06(){
 9         System.out.println("json 被调用。。。。。"10         String[] arr=new String[]{"小明","小花"};
 arr;
12     }

Restful方式获取值

根据路径提取参数,必须在参数中增加@PathVariable("uname")标识

如下所示:

     * 采用Restful方式传递参数
@param name
 6     @RequestMapping("/Mapping07/{uname}"public String Mapping07(@PathVariable("uname") String name,Model model){
 8         System.out.println("uname="+name);
 9         model.addAttribute("msg",name+ ">>>>>HelloWorld,1)">10         return "HelloWorld";
11     }

访问如下图所示:

另外,本例中使用了视图解析器,需要进行配置,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xmlns:context="http://www.springframework.org/schema/context"
 5 xmlns:mvc="http://www.springframework.org/schema/mvc"
 6 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd
 8  http://www.springframework.org/schema/context
 9  http://www.springframework.org/schema/context/spring-context.xsd
10  http://www.springframework.org/schema/mvc
11  http://www.springframework.org/schema/mvc/spring-mvc.xsd">
12       <!-- 配置注解的扫描 -->
13      context:component-scan base-package="com.hex.second"></context:component-scan14       支持MVC的注解 15      mvc:annotation-driven mvc:annotation-driven16       静态资源的支持 17      mvc:default-servlet-handler/>
18        配置视图解析器 19     bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
20     id="internalResourceViewResolver"21         property name="prefix" value="/WEB-INF/jsps/"22         ="suffix"=".jsp"23     </bean24 beans>

备注

千秋无绝色,悦目是佳人。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读