SpringMVC请求映射注解--- @RequestMapping

一. @RequestMapping

1.概述

:
主要是设置SpringMVC请求的映射路径
所谓的映射路径,就是匹配请求路径和执行方法关系的路径.

2.请求路径和映射路径:

请求路径:http://localhost:8080/springmvc/method1
映射路径:@RequestMapping(value="/method1")

3.放置位置

用于贴在控制器的类上或者方法上面
1)如果是贴在控制器的类上面,那么在访问这个类的方法之前必须先加上类上的对应的名称
类似于 项目下面的 模块名称
2) 如果贴在方法上面,就是访问此方法的资源名称

@Controller
@RequestMapping("/request")//访问时必须加上,类似模块名称
public class HelloController  {

    @RequestMapping(value = "/demo01")//资源名称
    public ModelAndView method01(){
        ModelAndView mv = new ModelAndView();
        mv.addObject("username","小明");
        mv.setViewName("/hello.jsp");
        return mv;

    }
}

以上配置的话,访问路径是http://localhost:8080/springmvc/request/demo01

二.两种限制

SpringMVC支持对请求的限制.如果不满足限制的条件,就不让访问执行方法.

这样做,大大提高了执行方法的安全性.

主要的限制有两种:(method)方法限制,参数限制

1.方法限制

就是设置请求的method类型.如果发送过来的请求与方法设置的method不一样,就不能访问执行方法.
例如:

  <form action="${pageContext.request.contextPath }/login.do" method="get">//请求的方法是get
    <input type="submit" value="登录">
  </form>
	/**
	 * 接收的请求,必须是POST
	 * @return
	 */
	@RequestMapping(value="login",method=RequestMethod.POST)
	public String login(){
		System.out.println("-登录-");
		return "/login.jsp";
	}

前台发送的是GET请求,而方法限制是POST请求,所以请求无法执行方法

1.参数限制

1)就是请求里面必须包括哪些参数,或不包括哪些哪些.
2)参数包括哪些值,不包括哪些值
限制参数格式:
1.参数必须包括:params={“username”,“password”}
2.参数不能包括:params={"!userid"}
3参数值必须是指定的值:params={“username=zhangsan”})
4.参数值必须不是指定的值:params={“userid!=123”})
例子:
请求:没有后台方法指定的参数

 <form action="${pageContext.request.contextPath}/request/login2" method="post">
    账号:<input name="username"><br>
    密码:<input type="password" name="pwd"><br>
    <button type="submit">登录</button>
  </form>

后台


    //表示登录时必须包括用户名和密码
    @RequestMapping(value = "/login2",params = {"username","password"})
    public String method01(){

        System.out.println("登录");
        return "/login.jsp";

    }

在这里插入图片描述

三.Spring方法参数可以注入的类型

SpringMVC的方法默认可以注入 JavaWeb开发常用的数据共享对象
HttpServletRequest
HttpServletResponse
HttpSession
获取这些共享对象以后,就可以向之前的Servlet一样,做任何数据共享以及页面跳转操作

/*
 * Spring的方法默认可以注入 JavaWeb开发常用的数据共享对象 
HttpServletRequest
HttpServletResponse
 * HttpSession 以后开发 按需注入
 */
@RequestMapping(value = "/method0")
public void method0(HttpServletRequest req, 
					HttpServletResponse resp,
					HttpSession session) {
	//TODO
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值