网站开发设计制作合同,怎样做校园网站推广,外贸建站平台哪家好,吉林省住房和城乡建设厅网站申报SpringMvc进阶 SpringMVC引言一、常用注解二、参数传递三、返回值 SpringMVC引言
在Web应用程序开发中#xff0c;Spring MVC是一种常用的框架#xff0c;它基于MVC#xff08;Model-View-Controller#xff09;模式#xff0c;提供了一种结构化的方式来构建可维护和可扩… SpringMvc进阶 SpringMVC引言一、常用注解二、参数传递三、返回值 SpringMVC引言
在Web应用程序开发中Spring MVC是一种常用的框架它基于MVCModel-View-Controller模式提供了一种结构化的方式来构建可维护和可扩展的应用程序。本文将介绍Spring MVC框架的基础知识和常用注解以及参数传递、返回值处理和页面跳转等相关内容。
一、常用注解
1.1. RequestMapping
RequestMapping注解用于将HTTP请求映射到控制器方法上通过指定URL路径和请求的方法类型来定义请求的处理。这是一个非常常用的注解它可以灵活地匹配多种URL路径和请求方法为控制器方法提供请求映射规则。
RequestMapping(/hello1)public String index(String bname,Integer bid ){
// System.out.println(hello springMvc..);log.info(简单类型参数bname:{},bid{},bname,bid);return index;}1.2. RequestParam
RequestParam注解用于获取请求参数的值可以指定参数名和默认值。它可以用于获取基本类型和包装类的参数并支持参数的必填和可选设置。通过RequestParam注解我们可以方便地获取和处理请求中的参数数据。 RequestMapping(/hello3)public String hello3(RequestParam String bname,RequestParam(required false) Integer bid){
// System.out.println(hello springMvc..);log.info(requestParambname:{},bid{},bname,bid);return index;};1.3. RequestBody
RequestBody注解用于接收请求体的数据并将其转换为对应的Java对象。通常在处理POST请求时使用通过该注解我们可以简化获取请求体数据的过程直接将数据转换为Java对象方便后续的业务处理。 RequestMapping(/hello4/{bid})public String hello4(PathVariable(bid) Integer bid){
// System.out.println(hello springMvc..);log.info(PathVariablebname:{},bid{},bid);return index;}1.4. RequestHeader
RequestHeader注解用于获取请求头的值可以指定头部名称和默认值。通过该注解我们可以方便地获取请求中的头部信息并根据需要进行相应的处理。例如可以获取用户的认证信息、浏览器类型等数据。
RequestMapping(/hello7)public String hello7( RequestHeader(jwt) String jwt){
// System.out.println(hello springMvc..);log.info(RequestHeaderjwt:{},jwt);return index;};二、参数传递
在Spring MVC中控制器方法可以接收不同类型的参数包括基础类型、字符串、复杂类型等。
2.1. 基础类型String
控制器方法可以直接将基本类型和字符串作为参数Spring MVC会自动进行类型转换。例如可以直接传递整型、字符型、布尔型等参数并在方法中进行相应的业务处理。 ResponseBodyRequestMapping(/hello2)public Map hello2(HttpServletResponse response) throws Exception {MapString,Objectmapnew HashMap();map.put(code,200);map.put(msg,成功添加);
return map;}2.2. 复杂类型
如果请求中包含复杂的参数结构我们可以定义一个与之对应的Java类并将其作为控制器方法的参数。Spring MVC将自动将请求参数映射到该Java对象的属性上提供了一种方便的方式来处理复杂的参数传递。 RequestMapping(/hello2)public String index(Book book, HttpServletRequest request){
// System.out.println(hello springMvc..);log.info(复杂类型参数bname:{},bid{},request.getParameter(bname),request.getParameter(bid));log.info(复杂类型参数bname:{},bid{},book.toString());return index;}2.3. RequestParam
使用RequestParam注解可以获取请求参数的值可以指定参数名和默认值。这个注解适用于获取单个参数的值可以用于基本类型、字符串等参数的获取。 RequestMapping(/hello3)public String hello3(RequestParam String bname,RequestParam(required false) Integer bid){
// System.out.println(hello springMvc..);log.info(requestParambname:{},bid{},bname,bid);return index;};
2.4. PathVariable
使用PathVariable注解可以获取URL路径中的变量值将路径变量绑定到方法参数上。这个注解适用于RESTful风格的URL处理可以方便地获取URL中的动态参数。
RequestMapping(/hello4/{bid})public String hello4(PathVariable(bid) Integer bid){
// System.out.println(hello springMvc..);log.info(PathVariablebname:{},bid{},bid);return index;};2.5. RequestBody
使用RequestBody注解可以将请求体的数据转换为对应的Java对象并作为方法的参数。通过该注解我们可以直接获取请求体中的数据并进行后续的业务处理。 RequestMapping(/hello6)public String hello6( RequestBody Map map){
// System.out.println(hello springMvc..);log.info(RequestBodymap:{},map);return index;};2.6. RequestHeader
使用RequestHeader注解可以获取请求头的值可以指定头部名称和默认值。通过该注解我们可以方便地获取请求头中的信息并根据需要进行相应的处理。 RequestMapping(/hello7)public String hello7( RequestHeader(jwt) String jwt){
// System.out.println(hello springMvc..);log.info(RequestHeaderjwt:{},jwt);return index;};三、返回值
在Spring MVC中控制器方法可以返回不同类型的值作为响应结果根据业务需求选择合适的返回类型。
3.1. void
如果控制器方法返回值为void则表示该方法没有返回值。这种情况下通常是直接向客户端写入数据或者通过其他方式进行响应处理。 public void hello1(HttpServletResponse response) throws Exception {MapString,Objectmapnew HashMap();map.put(code,200);map.put(msg,成功添加);ResponseUtil.writeJson(response,map);};3.2. String
控制器方法可以返回一个字符串作为响应结果这个字符串可以表示视图的名称或者响应的内容。当返回视图名称时Spring MVC会根据视图解析器的配置找到对应的视图并渲染返回给客户端。 ResponseBodyRequestMapping(/hello2)public Map hello2(HttpServletResponse response) throws Exception {MapString,Objectmapnew HashMap();map.put(code,200);map.put(msg,成功添加);
return map;};
3.3. StringModel
控制器方法可以返回一个字符串和一个Model对象。这种情况下字符串表示视图的名称而Model对象用于在视图中传递数据。通过Model对象我们可以将数据传递到视图中进行展示或者其他业务处理。
RequestMapping(/hello4)public String hello4(Model model, HttpServletRequest request) throws Exception {
model.addAttribute(currentName,鸭);request.setAttribute(location,鸡);return index;};3.4. ModelAndView
控制器方法可以返回一个ModelAndView对象它包含了视图名称和数据模型。ModelAndView是一种更加灵活的方式来处理视图和数据的传递可以同时指定视图名称和数据模型并在需要的时候进行相应的操作。 RequestMapping(/hello5)public ModelAndView hello5(Model model, HttpServletRequest request) throws Exception {ModelAndView mvnew ModelAndView();mv.addObject(sign,h);
mv.setViewName(index);return mv;};四、页面跳转 在Spring MVC中页面跳转可以通过转发forward或重定向redirect来实现。
RequestMapping(/hello6)public String hello6() throws Exception {System.out.println(hello6);return forward:hello2;};4.1. 转发forward
使用请求转发将请求发送到另一个URL路径上进行处理客户端的URL地址不会变化。这种方式适用于不同请求之间的跳转和处理可以共享请求的上下文数据。 RequestMapping(/hello7)public String hello7() throws Exception {System.out.println(hello6);return forward:/param//hello1;};4.2. 重定向redirect
使用重定向将请求发送到另一个URL路径上进行处理客户端的URL地址会改变。这种方式适用于不同请求之间的跳转和处理可以避免表单重复提交等问题。 RequestMapping(/hello9)public String hello9() throws Exception {System.out.println(hello6);return redirect:/param//hello1;};总结
本文介绍了Spring MVC框架的基础知识和常用注解以及参数传递、返回值处理和页面跳转等相关内容。掌握了这些知识我们可以更加灵活地开发Web应用程序实现不同功能和业务需求。在后续的文章中我们将深入讨论Spring MVC的更多特性和用法帮助读者更好地理解和应用该框架。 文章转载自: http://www.morning.pyncm.cn.gov.cn.pyncm.cn http://www.morning.dgmjm.cn.gov.cn.dgmjm.cn http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn http://www.morning.fpryg.cn.gov.cn.fpryg.cn http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn http://www.morning.bkjhx.cn.gov.cn.bkjhx.cn http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn http://www.morning.lwhsp.cn.gov.cn.lwhsp.cn http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn http://www.morning.kzslk.cn.gov.cn.kzslk.cn http://www.morning.datadragon-auh.cn.gov.cn.datadragon-auh.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.qbkw.cn.gov.cn.qbkw.cn http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn http://www.morning.ktrdc.cn.gov.cn.ktrdc.cn http://www.morning.ljtwp.cn.gov.cn.ljtwp.cn http://www.morning.zlkps.cn.gov.cn.zlkps.cn http://www.morning.alwpc.cn.gov.cn.alwpc.cn http://www.morning.mmclj.cn.gov.cn.mmclj.cn http://www.morning.wrbx.cn.gov.cn.wrbx.cn http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn http://www.morning.wdshp.cn.gov.cn.wdshp.cn http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.kmjbs.cn.gov.cn.kmjbs.cn http://www.morning.zwdrz.cn.gov.cn.zwdrz.cn http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.tslwz.cn.gov.cn.tslwz.cn http://www.morning.qymqh.cn.gov.cn.qymqh.cn http://www.morning.tntgc.cn.gov.cn.tntgc.cn http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn http://www.morning.rkxk.cn.gov.cn.rkxk.cn http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn http://www.morning.nkkr.cn.gov.cn.nkkr.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.cwgfq.cn.gov.cn.cwgfq.cn http://www.morning.qwyms.cn.gov.cn.qwyms.cn http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn http://www.morning.rqqkc.cn.gov.cn.rqqkc.cn http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn http://www.morning.rxnr.cn.gov.cn.rxnr.cn http://www.morning.wkmrl.cn.gov.cn.wkmrl.cn http://www.morning.lxhny.cn.gov.cn.lxhny.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.mgtrc.cn.gov.cn.mgtrc.cn http://www.morning.mgtrc.cn.gov.cn.mgtrc.cn http://www.morning.jgnst.cn.gov.cn.jgnst.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.hrtct.cn.gov.cn.hrtct.cn http://www.morning.bchfp.cn.gov.cn.bchfp.cn http://www.morning.shxrn.cn.gov.cn.shxrn.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn http://www.morning.jtszm.cn.gov.cn.jtszm.cn http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn http://www.morning.gbrps.cn.gov.cn.gbrps.cn http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.xrhst.cn.gov.cn.xrhst.cn http://www.morning.ujianji.com.gov.cn.ujianji.com http://www.morning.kxsnp.cn.gov.cn.kxsnp.cn http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn http://www.morning.nkkpp.cn.gov.cn.nkkpp.cn http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn http://www.morning.gcrlb.cn.gov.cn.gcrlb.cn http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn http://www.morning.wscfl.cn.gov.cn.wscfl.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn