当前位置: 首页 > news >正文

在网站制作前需要有哪些前期策划工作怎么样做网站赚钱

在网站制作前需要有哪些前期策划工作,怎么样做网站赚钱,软路由系统如何做网站,seo项目优化案例分析文档SpringMvc进阶 SpringMVC引言一、常用注解二、参数传递三、返回值 SpringMVC引言 在Web应用程序开发中,Spring MVC是一种常用的框架,它基于MVC(Model-View-Controller)模式,提供了一种结构化的方式来构建可维护和可扩…

SpringMvc进阶

  • SpringMVC引言
  • 一、常用注解
  • 二、参数传递
  • 三、返回值

SpringMVC引言

在Web应用程序开发中,Spring MVC是一种常用的框架,它基于MVC(Model-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("@requestParam:bname:{},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("@PathVariable:bname:{},bid{}",bid);return "index";}

在这里插入图片描述

1.4. @RequestHeader

@RequestHeader注解用于获取请求头的值,可以指定头部名称和默认值。通过该注解,我们可以方便地获取请求中的头部信息,并根据需要进行相应的处理。例如,可以获取用户的认证信息、浏览器类型等数据。

@RequestMapping("/hello7")public String hello7( @RequestHeader("jwt") String jwt){
//        System.out.println("hello springMvc..");log.info("@RequestHeader:jwt:{}",jwt);return "index";};

在这里插入图片描述

二、参数传递

在Spring MVC中,控制器方法可以接收不同类型的参数,包括基础类型、字符串、复杂类型等。

2.1. 基础类型+String

控制器方法可以直接将基本类型和字符串作为参数,Spring MVC会自动进行类型转换。例如,可以直接传递整型、字符型、布尔型等参数,并在方法中进行相应的业务处理。

 @ResponseBody@RequestMapping("/hello2")public  Map hello2(HttpServletResponse response) throws Exception {Map<String,Object>map=new 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("@requestParam:bname:{},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("@PathVariable:bname:{},bid{}",bid);return "index";};

2.5. @RequestBody

使用@RequestBody注解可以将请求体的数据转换为对应的Java对象,并作为方法的参数。通过该注解,我们可以直接获取请求体中的数据,并进行后续的业务处理。

  @RequestMapping("/hello6")public String hello6( @RequestBody Map map){
//        System.out.println("hello springMvc..");log.info("@RequestBody:map:{}",map);return "index";};

2.6. @RequestHeader

使用@RequestHeader注解可以获取请求头的值,可以指定头部名称和默认值。通过该注解,我们可以方便地获取请求头中的信息,并根据需要进行相应的处理。

  @RequestMapping("/hello7")public String hello7( @RequestHeader("jwt") String jwt){
//        System.out.println("hello springMvc..");log.info("@RequestHeader:jwt:{}",jwt);return "index";};

三、返回值

在Spring MVC中,控制器方法可以返回不同类型的值作为响应结果,根据业务需求选择合适的返回类型。

3.1. void

如果控制器方法返回值为void,则表示该方法没有返回值。这种情况下,通常是直接向客户端写入数据或者通过其他方式进行响应处理。

 public  void hello1(HttpServletResponse response) throws Exception {Map<String,Object>map=new HashMap<>();map.put("code",200);map.put("msg","成功添加");ResponseUtil.writeJson(response,map);};

3.2. String

控制器方法可以返回一个字符串作为响应结果,这个字符串可以表示视图的名称或者响应的内容。当返回视图名称时,Spring MVC会根据视图解析器的配置找到对应的视图并渲染返回给客户端。

 @ResponseBody@RequestMapping("/hello2")public  Map hello2(HttpServletResponse response) throws Exception {Map<String,Object>map=new HashMap<>();map.put("code",200);map.put("msg","成功添加");
return map;};

3.3. String+Model

控制器方法可以返回一个字符串和一个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 mv=new 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.yayakq.cn/news/648065/

相关文章:

  • 怎样拍照产品做网站网站项目开发流程及规范
  • 怎么做平台网站公关咨询公司
  • 做网站一般费用多少徐州做网站的公司有哪些
  • 合作网站开发网站建设好做吗
  • 卖磁铁的网站怎么做的广告制作服务
  • 济宁城乡建设管理局网站seo的理解
  • 毕业设计指导网站开发wordpress如何访问后台页面
  • 做企业网站的费用北京网站设计课程
  • 采购网站排名网站模版网
  • 商城微信网站怎么做银川做网站最好的公司有哪些
  • flash网站设计欣赏国外永久免费云服务器
  • 公司建了网站怎么做分录百度深圳总部
  • 太原网站建站模板关于购物网站建设的论文
  • 佛山高明建网站做网站怎么推广收益大
  • 网站怎么做数据分析天元建设集团有限公司青岛分公司张德平不干了
  • 网站开发属于哪个大学专业做网站百度云
  • 做app 的模板下载网站有哪些内容天峻县公司网站建设
  • 网站建设与维护技术浅谈论文网站后台选择
  • 外贸 需要到国外建网站吗可以在哪个网站做封面赚钱
  • 男生做污污的视频网站深圳工程交易中心网
  • 网站打开显示域名错误做的网站每年都要收费吗
  • 公司网站制作新手教程奇趣统计网站谁做的
  • 平面设计师必看的网站网站页尾模板
  • 天河做网站设计免备案空间网站备案
  • 如何用网站做cpawordpress配置七牛cdn
  • 手机网站与pc网站同步上海营销型网站设计
  • 自己在百度上可以做网站吗青岛软件开发公司
  • 做智能网站平台做网站月收入多少
  • 怎么样创建个人网站wordpress初级教程老左
  • 怎么自己建设一个网站大庆室内设计公司排名