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

专栏【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张图片

你可能感兴趣的:(SpringMVC,springmvc,java,spring,框架)