• 【SpringMVC篇】探索请求映射路径,Get请求与Post请求


    🎊专栏【SpringMVC】
    🍔喜欢的诗句:天行健,君子以自强不息。
    🎆音乐分享【如愿】
    🎄欢迎并且感谢大家指出小吉的问题🥰


    在这里插入图片描述

    请求映射是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'}";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    运行代码后,发现报错了

    在这里插入图片描述

    ⭐报错原因

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

    ⭐解决方法

    设置模块名作为请求路径前缀
    在这里插入图片描述
    在这里插入图片描述
    我们会看到,SpringMVC通过DispatcherServlet前端控制器解析请求,根据请求方法、路径、参数等映射至处理方法。透过@RequestMapping我们可以轻松实现RESTful接口。结合路径变量、请求参数等,Requests都可以被精确解析。

    🌺请求与响应

    🎄Get请求

    我们创建一个新的springmvc项目,按照下面的结构进行建立
    在这里插入图片描述

    写入代码
    在这里插入图片描述
    运行postman

    在这里插入图片描述

    运行成功

    🎄Post请求

    在这里插入图片描述
    运行成功
    在这里插入图片描述

    🎈乱码处理

    比如我们传进去汉字,就会产生乱码,如下图所示
    在这里插入图片描述
    在这里插入图片描述
    但是我们应该这么去解决呢

    解决方法

    我们可以用过滤器来处理

    在ServletCofig中加入这段代码

        @Override
        protected Filter[] getServletFilters() {
            CharacterEncodingFilter filter = new CharacterEncodingFilter();
            filter.setEncoding("UTF-8");
            return new Filter[]{filter};
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    再次运行,成功了
    在这里插入图片描述

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

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

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

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

    在这里插入图片描述

  • 相关阅读:
    高效正则匹配工具
    cd的奇特用法
    【SQL】按特定字符分割一行转多行
    二叉树相关OJ题目复习总结
    MATLAB小技巧(19)矩阵分析--主成分分析
    Spring Boot中的依赖注入和自动注入
    LVS keepalived实现高可用负载群集
    这些年,我与Google不得不说的那些事儿
    WEB开发技能树-PHP-GET/POST传参方式
    设计模式学习笔记——抽象工厂模式
  • 原文地址:https://blog.csdn.net/m0_72853403/article/details/133773268