南京在线网站制作,中山网站建设价位,机房网络建设方案,网站管理员怎样管理目录 引言1. SpringMVC的常用注解2. SpringMVC的参数传递3. SpringMVC的返回值4. SpringMVC页面跳转总结 引言
在现代的Web开发中#xff0c;SpringMVC已经成为了一个非常流行和强大的框架。它提供了许多注解来简化开发过程#xff0c;使得我们能够更加专注于业务逻辑的实现… 目录 引言1. SpringMVC的常用注解2. SpringMVC的参数传递3. SpringMVC的返回值4. SpringMVC页面跳转总结 引言
在现代的Web开发中SpringMVC已经成为了一个非常流行和强大的框架。它提供了许多注解来简化开发过程使得我们能够更加专注于业务逻辑的实现。本文将深入探讨SpringMVC的注解驱动开发重点关注常用注解、参数传递、返回值和页面跳转等方面。
1. SpringMVC的常用注解
1.1 Controller Controller注解用于标识一个类是SpringMVC的控制器它能够处理用户请求并返回相应的结果。我们可以通过在方法上使用RequestMapping注解来指定请求的URL路径。 1.2 RequestMapping RequestMapping注解用于将请求URL映射到相应的处理方法上。我们可以通过指定URL路径、请求方法、请求参数等来精确匹配请求。 1.3 RequestParam RequestParam注解用于获取请求参数的值。我们可以通过指定参数名、是否必需、默认值等来获取请求中的参数值。 1.4 PathVariable PathVariable注解用于获取URL路径中的参数值。我们可以通过在URL路径中使用占位符来指定参数名并在方法参数中使用PathVariable注解来获取参数值。 1.5 ResponseBody ResponseBody注解用于将方法的返回值直接作为响应体返回给客户端。它可以将对象转换为JSON、XML等格式并设置响应的Content-Type。 1.6.RequestHeader
使用 RequestHeader 注解可以获取指定的请求头信息。如果想要获取所有的请求头信息,可以使用 MapString,String、MultiValueMapString,String、HttpHeaders 这三个 Map 中的任何一个封装所有请求头的 name 和 value。
参数列表
参数说明namename 和 value 互为别名,当只有一个参数时可以省略 value,直接(“xxx”) 就可以了valuename 和 value 互为别名,当只有一个参数时可以省略 value,直接(“xxx”) 就可以了required默认情况下,如果请求头中缺少了指定的 name那么将会报错。如果没有添加required false当请求头中没有这个zking请求头时就会报错。defaultValue如果请求头中缺少了指定的 name ,那么会报错,可以使用 defaultValue 这个属性指定默认值,就可以避免报错 如果请求头缺少指定 name ,该属性设置的值将会作为默认值,如果该属性不设置值,它有自己的默认值 DEFAULT_NONE
2. SpringMVC的参数传递
2.1.基础类型String
RequestMapping(/h1)public String h1(String bname,Integer bid){log.info(基础类型String传参{},{},bname,bid);return index;}2.2.复杂类型 RequestMapping(/h2)public String toHello2(Book book, HttpServletRequest req){log.info(复杂类型传参{},{}, req.getParameter(bid),req.getParameter(bname));log.info(复杂类型传参:{},book.toString());return index;}2.3.RequestParam RequestMapping(/h3)public String h3(RequestParam Integer bid, RequestParam(required false) String bname){log.info( 使用RequestParam注解传递参数{},{}, bid,bname);return index;}2.4.PathVariable RequestMapping(/h4/{bid})public String h4(PathVariable(bid) Integer bid){log.info( 使用PathVariable注解传递参数{},, bid);return index;}2.5.RequestBody // 能接受json数据前提导入了Jackson依赖没有导入Jackson依赖的话那进不了这个方法RequestMapping(/h5)public String h5(RequestBody Map map){log.info(RequestBody:map:{},map);return index;}// 不能接受json数据RequestMapping(/h6)public String h6( Map map){log.info(RequestBody:map:{},map);return index;}2.6.RequestHeader RequestMapping(/h7)public String h7(Book book, RequestBody Map map, RequestHeader(jwt) String jwt){log.info(book:{},book);log.info(RequestBody:map:{},map);log.info(RequestHeader:jwt:{},jwt);return index;}3. SpringMVC的返回值
3.1 void返回 public void f1(HttpServletResponse response) throws Exception {MapString,Object map new HashMap();map.put(code,200);map.put(msg,成功);try {} catch (Exception e) {ResponseUtil.writeJson(response,map);e.printStackTrace();}}ResponseBody
RequestMapping(/f2)public Map f2(HttpServletResponse resvponse) {MapString,Object map new HashMap();map.put(code,200);map.put(msg,成功);return map;}3.2 String返回 RequestMapping(/index)public String demo1(){System.out.println(hello spring);return index;}3.3.StringModel返回 RequestMapping(/f3)public String f3(Model model, HttpServletRequest request){//填充模型数据model.addAttribute(name,张三);request.setAttribute(role,管理员);//逻辑视图名return index;}%--Created by IntelliJ IDEA.User: yuanhDate: 2023/9/4Time: 17:04To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body
hello wordname:${name}
role:${role}
/body
/html 3.4.ModelAndView
RequestMapping(/f4)public ModelAndView f4(){ModelAndView mv new ModelAndView();//填充模型数据mv.addObject(price,19.9);mv.setViewName(index);//逻辑视图名return mv;}4. SpringMVC页面跳转
4.1 重定向 RequestMapping(/z3)public String z3(){System.out.println(z3);return redirect:h1;}RequestMapping(/z4)public String z4(){System.out.println(z4);return redirect:/main/index;}4.2 转发 RequestMapping(/z1)public String z1(){System.out.println(z1);return forward:h1;}RequestMapping(/z2)public String z2(){System.out.println(z2);return forward:/main/index;}总结
本文深入探讨了SpringMVC的注解驱动开发重点关注了常用注解、参数传递、返回值和页面跳转等方面。通过学习和理解这些内容我们可以更加灵活和高效地使用SpringMVC来开发Web应用程序。希望本文对您有所帮助