SpringMVC注解

  1. Annotation
    @Controller:用于标识是处理器类;
    @RequestMapping:请求到处理器功能方法的映射规则;
    @RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
    @PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定
    @ModelAttribute:请求参数到命令对象的绑定;
    @SessionAttributes:用于声明session级别存储的属性
    @CookieValue:绑定Cookie数据值
    注:关于ModelAttribute和SessionAttribute详见SpringMVC重要的注解
  2. URL路径映射
    1.@RequestMapping(value={"/user1", “/user2/create”}):多个URL路径可以映射到同一个处理器的功能处理方法
    2.@RequestMapping(value=“/users/{userId}”):{×××}是占位符, 请求的URL可以是 “/users/123456”或“/users/abcd”,通过后面讲的通过@PathVariable可以提取URI模板模式中的{×××}中的×××变量
    3.@RequestMapping(value=“/users/{userId}/create”):请求的URL可以是“/users/123/create”
    4.@RequestMapping(value="/users/{userId}/abc/{name}"):这样也是可以的,请求的URL可以是“/users/001/abc/itany”
    5.@RequestMapping(value="/users?"): 匹配一个字符,如可以匹配/ users1,但不能匹配/ users或/ users12
    6.@RequestMapping(value="/users*"):可匹配“/users”或“/usersa”,但不匹配“/users /abc”;
    7.@RequestMapping(value="/users/*"):可匹配“/ users/abc”,但不匹配“/usersabc”;
    8.@RequestMapping(value=“/users//”):匹配零个或多个路径, “/users/abc/abc/…/”
    9.@RequestMapping(value="/users /
    /{userid}"):可匹配“/ users /abc/abc/123”或“/users/12
package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.entity.Person;

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

@Controller//用于标识是处理器类
public class HelloAnnotation {
	@RequestMapping(value="/m1")//请求到处理器功能方法的映射规则
	public ModelAndView m1(HttpServletRequest request,HttpServletResponse response,HttpSession session){
		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}
	
	@RequestMapping(value="/m2")
	public ModelAndView m2(){
		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		mv.addObject("name", "张卫健");
		return mv;
	}
	
	@RequestMapping(value="/m3")
	public ModelAndView m3(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		request.setAttribute("name", "张卫健2");
		return mv;
	}
	
	@RequestMapping(value="/m4")
	public String m4(String name,String sex){
		System.out.println(name+","+sex);//可以在控制台输出地址栏参数
		return "index";//视图解析器自动解析到/index.jsp
	}
	
	@RequestMapping(value="/m5")
	public String m5(Person p){
		System.out.println(p.getName()+","+p.getSex());
		return "index";
	}
	
	@RequestMapping(value="/m6")
	public String m6(@RequestParam("n") String name){
		//请求参数到处理器功能处理方法的方法参数上的绑定
		System.out.println(name);//地址栏的n参数,绑定到此处的参数name
		return "index";
	}
	
	@RequestMapping(value="/m7/{p1}/{p2}")
	public String m7(@PathVariable("p1") String name,@PathVariable("p2") String sex){
		//请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定
		//访问地址写成这样http://localhost:8080/SpringMVCDemo/m7/zhangsan/28
		System.out.println(name+","+sex);
		return "index";
	}
	
	@RequestMapping(value="/m8*")
	public String m8(@CookieValue(value="JSESSIONID",defaultValue="bwf") String cookie){
		//@CookieValue绑定Cookie数据值
		System.out.println(cookie);//B780BD3645983A615692CCA9CAF066E3
		return "index";
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值