热门关键字:
jquery > jquery教程 > java > 开始学SpringMVC之RequestMapping详解

开始学SpringMVC之RequestMapping详解

439
作者:管理员
发布时间:2020/4/20 14:39:46
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=1377

本文以一个简单的小例子,简述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两种方式访问。

 1 /**  2  * value是一个数组,可以指定不同的路径  3  * method也是一个数组,可以指定不同的访问方式  4  * @return  5 */  6 @RequestMapping(value={"/Mapping02","Mapping0B"},method={RequestMethod.GET,RequestMethod.POST})  7 public ModelAndView Mapping02(){  8 System.out.println("Mapping02被调用了。。。。");  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 }

3. RequestMapping中的params

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

 1 /**  2  * value指定访问的路径,method指定访问的方式必须是GET方式  3  * 且参数中必须有一个uname  4  * @return  5 */  6 @RequestMapping(value="/Mapping03",method=RequestMethod.GET,params="uname")  7 public ModelAndView Mapping03(String uname){  8 System.out.println("Mapping03被调用了。。。。");  9 ModelAndView mav=new ModelAndView(); 10 mav.addObject("msg", uname+">>>>>HelloWorld,HelloSpringMVC!!!"); 11 //mav.setViewName("WEB-INF/jsps/HelloWorld.jsp"); 12 mav.setViewName("HelloWorld"); 13 return mav; 14 }

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

 1 /**  2  * value指定访问的路径,method指定访问的方式必须是GET方式  3  * 且参数中必须有一个uname,和uage,且uage必须等于13  4  * @return  5 */  6 @RequestMapping(value="/Mapping04",method=RequestMethod.GET,params={"uname","uage=13"})  7 public ModelAndView Mapping04(String uname,int uage){  8 System.out.println("Mapping04被调用了。。。。");  9 System.out.println("uname="+uname+" , uage="+uage); 10 ModelAndView mav=new ModelAndView(); 11 mav.addObject("msg", uname+">>>>>HelloWorld,HelloSpringMVC!!!"); 12 //mav.setViewName("WEB-INF/jsps/HelloWorld.jsp"); 13 mav.setViewName("HelloWorld"); 14 return mav; 15 }

4. RequestMapping中的headers

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

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

 5. RequestMapping中的produces

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

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

Restful方式获取值

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

如下所示:

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

访问如下图所示:

开始学SpringMVC之RequestMapping详解

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

 1 <?xml version="1.0" encoding="UTF-8"?>  2 <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  7  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-scan> 14 <!-- 支持MVC的注解 --> 15 <mvc:annotation-driven ></mvc:annotation-driven> 16 <!-- 静态资源的支持 --> 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 <property name="suffix" value=".jsp"/> 23 </bean> 24 </beans>

备注

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





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:Java 工具类总结
友荐云推荐