1.指定模块名称131.1@Requestmaping131
处理器对请求的映射规则可以通过@RequestMaping注释来定义。该注释可以注释在方
类别也可以在法律上注明,但意义不同。value属性值通常从“/”开始。
@Requestmaping的value属性用于定义匹配请求的URI。但是对于注释,在方法和类别上
其value属性所指定的URI意义不同。
1.2@Requestmaping的作用多个处理器方法可以在@controller注释的类别中定义。当然,不同的处理器方法
匹配的URI是不同的。这些不同的URI被指定为@RequestMaping,注释在方法上
value属性。但是,如果这些请求具有相同的URI部分,则可以在注释中提取相同的URI
在@RequestMaping的value属性中。此时,URI表示模块的名称。URI请求
是与Web相比的根目录。
换句话说,要访问处理器的指定方法,必须在方法指定URI之前添加处理器类
义模块名称
Mycontroller修改处理器类。
package com.bjpowernode.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/** * @Controller:创建处理器对象,对象放置在springmvc容器中。 6 * * @RequestMapping: * value : 所有请求地址的公共部分,称为模块名 13 * 位置: 把它放在类别上 */@Controller@RequestMapping("/user")public class MyController { @RequestMapping(value = {"/some.do","/first.do"}) public ModelAndView doSome(){// doGet()-->service请求处理 ///处理some.do请求了。 相当于service调用处理的完成。 相当于service调用处理的完成。 ModelAndView mv = new ModelAndView(); //添加数据, 在请求结束时,框架将数据放入request作用域。 7 mv.addObject("msg“欢迎使用springmvc坐web开发”; mv.addObject("fun",“执行dosome方法”); ///用视图解析器填写路径 12 mv.setViewName("show"); //返回mv return mv; } @RequestMapping(value = {"/other.do","/second.do"}) public ModelAndView doOther(){ ModelAndView mv = new ModelAndView(); mv.addObject("msg",=====欢迎使用springmvc进行web开发===; mv.addObject("fun“执行doother方法”); mv.setViewName("other"); return mv; }}
<%--index.编写jsp页面 6--%><%@ page contentType="text/html;charset=UTF-8" language="java" %> 第一个springmvc项目 第一个springmvc项目 使用超链接发起some.do的请求 使用超链接发起other.do的请求
2.请求提交方式的定义142.1对于@RequestMapping,其属性method用于提交注解方法处理的请求
限制方法,即只有满足method属性指定的提交方法的要求,才能实施注释方法。
Method属性的取值为RequestMethod枚举常量。RequestMethod常用.GET与
RequestMethod.POST,GET和POST分别表示提交方式的匹配规则。
上述处理器方法只能处理POST提交的请求。客户浏览器常用的请求方法及其要求
2.2提交方式如下:也就是说,只要处理器方法匹配的请求提交方法是POST,就相当于指定请求
发送方式:要么使用表格请求,要么使用AJAX请求。禁止使用其他请求。
当然,如果不指定method属性,可以匹配GET和POST的提交方式。也就是说,对于
要求的提交方式无要求
Mycontroler修改处理器
package com.bjpowernode.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;/** * @Controller:创建处理器对象,对象放置在springmvc容器中。 6 * * @RequestMapping: * value : 所有请求地址的公共部分,称为模块名 13 * 位置: 把它放在类别上 */@Controller@RequestMapping("/user")public class MyController { /** * @RequestMapping : 请求映射 14 * 属性: method, 表示请求的方式。 它的值RequestMethod类枚举值。 * 例如,表示get请求方式, RequestMethod.GET * post方法, RequestMethod.POST * * 你不需要得到它,错误是: * HTTP Status 405 - Request method 'GET' not supported */ //指定some.do使用get请求 14 @RequestMapping(value = "/some.do",method = RequestMethod.GET) public ModelAndView doSome(){// doGet()-->service请求处理 ///处理some.do请求了。 相当于service调用处理的完成。 相当于service调用处理的完成。 ModelAndView mv = new ModelAndView(); //添加数据, 在请求结束时,框架将数据放入request作用域。 7 mv.addObject("msg“欢迎使用springmvc坐web开发”; mv.addObject("fun",“执行dosome方法”); ///用视图解析器填写路径 12 mv.setViewName("show"); //返回mv return mv; } //指定other.do是post请求的方式 14 @RequestMapping(value = "/other.do",method = RequestMethod.POST) public ModelAndView doOther(){ ModelAndView mv = new ModelAndView(); mv.addObject("msg",=====欢迎使用springmvc进行web开发===; mv.addObject("fun“执行doother方法”); mv.setViewName("other"); return mv; } ///不指定请求方式,没有限制 14 @RequestMapping(value = "/first.do") public ModelAndView doFirst(){ ModelAndView mv = new ModelAndView(); mv.addObject("msg",=====欢迎使用springmvc进行web开发===; mv.addObject("fun“执行dofirst方法”); mv.setViewName("other"); return mv; }}
<%--index.编写jsp页面 6--%><%@ page contentType="text/html;charset=UTF-8" language="java" %> 第一个springmvc项目 第一个springmvc项目 使用超链接发起some.doget请求
some.do请求
other.do请求