相关推荐recommended
【SpringMVC篇】探索请求映射路径,Get请求与Post请求
作者:mmseoamin日期:2024-02-02

🎊专栏【SpringMVC】

🍔喜欢的诗句:天行健,君子以自强不息。

🎆音乐分享【如愿】

🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录

  • 🌺请求映射路径
    • ⭐报错原因
    • ⭐解决方法
    • 🌺请求与响应
      • 🎄Get请求
      • 🎄Post请求
        • 🎈乱码处理

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第1张

          请求映射是SpringMVC框架进行请求调度的重要基础。通过请求映射,SpringMVC可以将不同的请求映射到指定的控制器进行处理。所以学习使用请求映射是精通SpringMVC的重要一步。

          本文将详细介绍SpringMVC中的请求映射实现。包括路径匹配、请求方法区分、参数绑定等方面。同时,还将说明Get和Post请求的细节区别。希望通过本文的学习,大家可以熟练使用SpringMVC的请求映射功能,更好地进行Web接口开发。

          本文还会讲解GET与POST的区别,包括参数传递机制、幂等性等。以及如何处理字符编码问题。这些都是实际应用中需要注意的问题。

          与传统Servlet开发相比,SpringMVC让接口开发变得简单高效。我们也不再需要面对繁杂的doGet/doPost处理。通过@RequestMapping一个注解就能优雅地处理请求映射。让我们一起来领略SpringMVC里请求映射的优雅之美!

          🌺请求映射路径

          我们继续沿用上一篇文章入门案例的代码

          新创建一个BookController类

          package com.example.controller;
          import org.springframework.stereotype.Controller;
          import org.springframework.web.bind.annotation.RequestMapping;
          import org.springframework.web.bind.annotation.ResponseBody;
          @Controller
          public class BookController {
              @RequestMapping("/save")
              @ResponseBody
              public String save(){
                  System.out.println("book save ...");
                  return "{'module':'book save'}";
              }
          }
          

          运行代码后,发现报错了

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第2张

          ⭐报错原因

          在开发的时候,每个人设置的请求路径是不一样的,这样子会造成冲突

          ⭐解决方法

          设置模块名作为请求路径前缀

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第3张

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第4张

          我们会看到,SpringMVC通过DispatcherServlet前端控制器解析请求,根据请求方法、路径、参数等映射至处理方法。透过@RequestMapping我们可以轻松实现RESTful接口。结合路径变量、请求参数等,Requests都可以被精确解析。

          🌺请求与响应

          🎄Get请求

          我们创建一个新的springmvc项目,按照下面的结构进行建立

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第5张

          写入代码

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第6张

          运行postman

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第7张

          运行成功

          🎄Post请求

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第8张

          运行成功

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第9张

          🎈乱码处理

          比如我们传进去汉字,就会产生乱码,如下图所示

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第10张

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第11张

          但是我们应该这么去解决呢

          解决方法

          我们可以用过滤器来处理

          在ServletCofig中加入这段代码

              @Override
              protected Filter[] getServletFilters() {
                  CharacterEncodingFilter filter = new CharacterEncodingFilter();
                  filter.setEncoding("UTF-8");
                  return new Filter[]{filter};
              }
          

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第12张

          再次运行,成功了

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第13张

          通过本文,我们已经掌握了SpringMVC强大的请求映射功能,可以对接口请求进行灵活的路径映射和方法绑定。同时也理解了Get和Post请求的细节区别。

          SpringMVC中还有很多高级主题,如矩阵变量、媒体类型处理、CORS跨域等。希望读者能继续深入学习和实践SpringMVC,将其作为Web项目的首选框架。

          SpringMVC请求映射的功能远不止这些。它还支持类级别的映射,通配符、正则表达式等高级映射方式;支持按请求参数、请求头映射等等。这些我们都可以在以后的学习中继续深入了解。

          如果大家在工作中遇到SpringMVC映射方面的问题,或者想讨论更多高级用法,请在评论区与我留言讨论。我们会一起把SpringMVC 用起来!学习编程最重要的就是动手实践,希望大家也要多动手练习。

          【SpringMVC篇】探索请求映射路径,Get请求与Post请求,在这里插入图片描述,第14张