RequestMapping介绍

@RequestMapping

看看注解源码,在那几个位置

就近?

协作?

常用方法:method=RequestMethod.GET/method=RequestMethod.POST

RequestMapping中限定请求参数映射:params

@RequestMapping(value="/testParams",params={"email","tel!=110"},method=RequestMethod.GET)
 public String testParams()
 {
   System.out.println("=====testParams");
   return "ok";
 }

RequestMapping中限定请求头映射:headers

@RequestMapping(value="/testHeaders",headers={"Host=localhost:8081"},method=RequestMethod.GET)
 public String testHeaders()
 { 
   System.out.println("=====testHeaders");
   return "ok";
 }

URL路径映射

HTTP协议查看

普通URL映射

Ant风格URL映射

@RequestMapping(value="/testAntStyle**/**/q",method=RequestMethod.GET)
@RequestMapping(value="/testAntStyle??",method=RequestMethod.GET)
@RequestMapping(value="/testAntStyle*",method=RequestMethod.GET)
 public String testAntStyle()
 {
  System.out.println("=====testAntStyle");
   return "ok";
 }

?  匹配一个字符

*  匹配零个或多个字符

** 匹配零个或多个路径

@PathVariable占位符URL映射

@RequestMapping(value="/users/{userId}")

@RequestMapping(value=“/users/{userId}/create”)

@RequestMapping(value="/users/{userId}/topics/{topicId}")

@PathVariable可以提取URI模板模式中的{×××}中的×××变量。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

hello:<a href="${pageContext.request.contextPath}/hello">hello</a>
<hr>
testParams:<a href="${pageContext.request.contextPath}/testParams?age=26&tel=112">testParams</a>
<hr>
testHeaders:<a href="${pageContext.request.contextPath}/testHeaders">testHeaders</a>
<hr>
testAntStyle:<a href="${pageContext.request.contextPath}/testAntStylexxxxx">testAntStyle</a>
<hr>
testPathVariable:<a href="${pageContext.request.contextPath}/testPathVariable/1022">testPathVariable</a>
<hr>
<fieldset>
REST风格:<br>
	POST:<br>
	<form action="${pageContext.request.contextPath}/order" method="post">
		<input type="submit" value="post_commit">
	</form>
	DELETE:<br>
	<form action="${pageContext.request.contextPath}/order/1022" method="post">
		<input type="hidden" name="_method" value="DELETE">
		<input type="submit" value="delete_commit">
	</form>	
	PUT:<br>
	<form action="${pageContext.request.contextPath}/order/1022" method="post">
		<input type="hidden" name="_method" value="PUT">
		<input type="submit" value="put_commit">
	</form><br>
	GET:<a href="${pageContext.request.contextPath}/order/1022">testGet</a>
</fieldset>
<hr>
testRequestParam:<a href="${pageContext.request.contextPath}/testRequestParam?age=26&roleId=11&roleId=12">testRequestParam</a>
<hr>
testRequestHeader:<a href="${pageContext.request.contextPath}/testRequestHeader">testRequestHeader</a>
</html>
package com.learn.springmvc.test;

import java.io.IOException;
import java.io.Writer;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.learn.springmvc.entities.User;


@Controller
//@SessionAttributes(value="user")
public class Test001
{
	@RequestMapping(value="/testParams",method=RequestMethod.GET,params={"age","tel!=110"})
	public String testParams()
	{
		System.out.println("-----testParams");
		return "ok";
	}
	@RequestMapping(value="/testHeaders",method=RequestMethod.GET,headers={"Host=localhost:8080"})
	public String testHeaders()
	{
		System.out.println("-----testHeaders");
		return "ok";
	}
	@RequestMapping(value="/testAntStyle*",method=RequestMethod.GET)
	public String testAntStyle()
	{
		System.out.println("-----testAntStyle");
		return "ok";
	}	
	//
	@RequestMapping(value="/testPathVariable/{musicId}",method=RequestMethod.GET)
	public String testPathVariable(@PathVariable("musicId") String musicId)
	{
		System.out.println("-----testPathVariable musicId:  "+musicId);
		return "ok";
	}
	
	@RequestMapping(value="/order",method=RequestMethod.POST)
	public String testPost()
	{
		System.out.println("-----testPost");
		return "ok";
	}
	@RequestMapping(value="/order/{uuid}",method=RequestMethod.DELETE)
	public String testDelete(@PathVariable("uuid") String uuid)
	{
		System.out.println("-----testDelete uuid: "+uuid);
		return "ok";
	}
	@RequestMapping(value="/order/{uuid}",method=RequestMethod.PUT)
	public String testPut(@PathVariable("uuid") String uuid)
	{
		System.out.println("-----testPut uuid: "+uuid);
		return "ok";
	}	
	@RequestMapping(value="/order/{uuid}",method=RequestMethod.GET)
	public String testGet(@PathVariable("uuid") String uuid)
	{
		System.out.println("-----testGet uuid: "+uuid);
		return "ok";
	}	
	@RequestMapping(value="/testRequestParam",method=RequestMethod.GET)
	public String testRequestParam(@RequestParam(value="age",required=false,defaultValue="99") Integer age,
			@RequestParam("roleId") String[] roleIds)
	{
		System.out.println("-----testRequestParam age: "+age);
		for (int i = 0; i < roleIds.length; i++)
		{
			System.out.println(roleIds[i]);
		}
		return "ok";
	}	
	@RequestMapping(value="/testRequestHeader",method=RequestMethod.GET)
	public String testRequestHeader(@RequestHeader("Host") String host)
	{
		System.out.println("-----testRequestHeader host: "+host);
		return "ok";
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值