襄樊网站网站建设,国家信用信息企业公示系统官网,视频制作表情包,网站同时做竞价和优化可以一#xff0c;SpringMVC映射请求
SpringMVC 使用 RequestMapping 注解为控制器指定可以处理哪些URL请求
1.1RequestMapping修饰类
注解RequestMapping修饰类#xff0c;提供初步的请求映射信息#xff0c;相对于WEB应用的跟目录。 注#xff1a; 如果在类名前#xff0…一SpringMVC映射请求
SpringMVC 使用 RequestMapping 注解为控制器指定可以处理哪些URL请求
1.1RequestMapping修饰类
注解RequestMapping修饰类提供初步的请求映射信息相对于WEB应用的跟目录。 注 如果在类名前使用了注解RequestMapping那么在处理器的方法里在进行页面跳转的时候 如果不经过视图解析器那就要在跳转页面名的前面 加上“ / ”表示页面的跳转位置从项目根目录开始 如果没加“ /” 的意思是以上面的例子来说那么页面的跳转位置是从items这个逻辑文件夹开始
1.2RequestMapping修饰方法 详细介绍RequestMapping
1.RequestMapping(/show.do)
加 / 是当前工程下不加默认也是当前工程下
2.RequestMapping(value{show.do”reg.do“})
表示两个url请求都可以进入此控制器的此方法里。
如果value的值只有一个的话不需要加{}
如果RequestMapping注解里只有value这一个属性的话并且该value属性还只有一个值的话value也可以省去。如 上面的1。
3.RequestMapping(value{show.do”reg.do“} method{RequestMethod.POST})
value 和method两个属性之间使用 逗号隔开
method{RequestMethod.POST} 表示当前方法只能处理POST请求若缺省则get/post都可以处理。
4.对请求的参数加以限制
RequestMapping(value{show.do”reg.do“} params{”参数名1“”参数名2“})
表示当前方法请求参数中必须有参数名叫 参数名1 和 参数名2 这两个参数。
RequestMapping(value{show.do”reg.do“} params{”参数名1value1“”参数名2“})
表示当前方法请求参数中必须有参数名叫 参数名1 和 参数名2 这两个参数并且参数1的值必须为value1。
5.headers属性作为了解
指定request中必须包含某些指定的header值才能让该方法处理请求。
RequestMapping(value /pets, method RequestMethod.GET, headersReferer凤凰网)
表示仅处理request的header中包含了指定“Refer”请求头和对应值为“http://www.ifeng.com/”的请求
二SpringMVC返回值类型
controller 方法的返回值有三种 A.ModelAndView B.String C.void
2.1返回ModelAndView
方法返回值定义为ModelAndView时对象可添加model数据也可以指定view。
RequestMapping(show.do)public ModelAndView show(){ModelAndView mvnew ModelAndView();ListProduct listnew ArrayListProduct();list.add(new Product(1,华为,手机,2888.8));list.add(new Product(2,华为,电脑,4888.8));mv.addObject(list,list);mv.setViewName(show.jsp);return mv;}
补 mv.addObject(list,list); 相当于request.setAttribute(list,list);在jsp页面中通过items获得集合数据。
2.2返回String
方法返回值为String时字符串内容不是随意的而是要遵守一定的格式有三种方式
A.字符串内容表示逻辑视图名以请求转发方式进行页面跳转也可以是controller控制器。
如return “index.jsp”;
B.字符串内容以“forward”开头表示以请求转发方式进行页面跳转也可以是controller控制器。
如return “forwardindex.jsp”;
C.字符串内容以“redirect”开头表示以重定向方式进行页面跳转跳转的路径可以是jsp页面也可以是controller控制器。
如return “redirectindex.jsp”;
注意 如果applicationContext.xml里配置了视图解析器该方法不进入【视图解析器】的。
2.3返回void
方法返回值为void时有以下两种方式
A. request.getRequestDispatcher(main.action).forward(request, response);表示请求转发方式进行页面跳转
B. response.sendRedirect(main.action);表示重定向方式进行页面跳转
2.4返回实体对象配合 ResponseBody 注解 当在方法上添加了ResponseBody注解时返回的实体对象会被 HttpMessageConverter 转换为对应的响应体格式如 JSON、XML 等。
三SpringMVC参数绑定
参数绑定的过程
从客户端请求key / value数据经过参数绑定将key / value数据绑定到controller方法的形参上。
springMVC中接收页面提交的数据是通过方法形参来接收而不是在controller类定义成员变量接收