相关推荐recommended
SpringMVC基础篇(二)
作者:mmseoamin日期:2024-04-27

文章目录

    • 1.Postman
        • 1.基本介绍
          • Postman是什么?
          • 2.Postman快速入门
            • 1.Postman下载
              • 点击安装自动安装在系统盘
              • 2.基本操作
                • 1.修改字体大小
                • 2.ctrl + “+” 放大页面
                • 3.进入创建请求界面
                • 2.需求分析
                • 3.具体操作
                • 4.保存请求到文件夹中
                  • 1.点击保存
                  • 2.创建新的文件夹
                  • 3.保存成功
                  • 3.使用Postman完成对前面编写的UserHander方法的请求
                    • 1.分析
                    • 2.发送请求
                    • 4. 对search方法进行请求(带参数)
                      • 1.分析
                      • 2.发送请求
                      • 5.对im方法发送请求(ant)
                        • 1.分析
                        • 2.发送请求
                        • 6.对register方法发送请求(路径参数)
                          • 1.分析
                          • 2.发送请求
                          • 7.对hello方法发送请求(带参数)
                            • 发送请求
                            • 8.Postman发送json数据(需要修改请求头)
                            • 2.Rest(优雅的url请求风格)
                                • 1.基本介绍
                                • 2.Rest风格的url案例(crud)
                                  • 1.需求分析
                                  • 2.环境配置(在上一篇的环境基础)
                                    • 1.配置web.xml
                                    • 2.配置springDispatcherServlet-servlet.xml
                                    • 3.前端样式模板rest.jsp
                                    • 4.GET
                                      • 1.BookHandler.java
                                      • 2.rest.jsp
                                      • 3.结果展示
                                      • 5.POST
                                        • 1.BookHandler.java
                                        • 2.rest.jsp
                                        • 3.结果展示
                                        • 6.DELETE(重点看)
                                          • 1.rest.jsp
                                          • 2.BookHandler.java
                                          • 3.结果展示
                                          • 7.PUT
                                            • 1.rest.jsp
                                            • 2.BookHandler.java
                                            • 3.结果展示
                                            • 8.HiddenHttpMethodFilter源码解析(debug)
                                              • 1.下断点
                                              • 2.点击修改书籍
                                              • 3.下一步,发现了请求是POST
                                              • 4.下一步,发现参数_method的值为PUT
                                              • 5.下一步,将这个值转换成大写(意味着,在填值的时候,不区分大小写)
                                              • 6.下一步,判断取得的值PUT是不是在集合中
                                              • 7.下两步,将请求转换成PUT类型使得SpringMVC框架可以识别
                                              • 9.Rest的DELETE和PUT总结

                                                1.Postman

                                                1.基本介绍
                                                Postman是什么?

                                                SpringMVC基础篇(二),image-20240224153523195,第1张

                                                2.Postman快速入门
                                                1.Postman下载
                                                点击安装自动安装在系统盘

                                                SpringMVC基础篇(二),image-20240224154311749,第2张

                                                2.基本操作
                                                1.修改字体大小

                                                SpringMVC基础篇(二),image-20240224154612019,第3张

                                                2.ctrl + “+” 放大页面
                                                3.进入创建请求界面

                                                SpringMVC基础篇(二),image-20240224154911197,第4张

                                                SpringMVC基础篇(二),image-20240224154939875,第5张

                                                2.需求分析

                                                SpringMVC基础篇(二),image-20240224154158378,第6张

                                                3.具体操作

                                                SpringMVC基础篇(二),image-20240224155133759,第7张

                                                4.保存请求到文件夹中
                                                1.点击保存

                                                SpringMVC基础篇(二),image-20240224155227617,第8张

                                                2.创建新的文件夹

                                                SpringMVC基础篇(二),image-20240224155424743,第9张

                                                3.保存成功

                                                SpringMVC基础篇(二),image-20240224155450256,第10张

                                                3.使用Postman完成对前面编写的UserHander方法的请求

                                                SpringMVC基础篇(二),image-20240224161139293,第11张

                                                1.分析

                                                SpringMVC基础篇(二),image-20240224161201226,第12张

                                                2.发送请求

                                                SpringMVC基础篇(二),image-20240224161249104,第13张

                                                4. 对search方法进行请求(带参数)

                                                SpringMVC基础篇(二),image-20240224161519287,第14张

                                                1.分析

                                                SpringMVC基础篇(二),image-20240224161843531,第15张

                                                2.发送请求

                                                SpringMVC基础篇(二),image-20240224161936610,第16张

                                                5.对im方法发送请求(ant)

                                                SpringMVC基础篇(二),image-20240224162106552,第17张

                                                1.分析

                                                SpringMVC基础篇(二),image-20240224162643205,第18张

                                                2.发送请求

                                                SpringMVC基础篇(二),image-20240224162708478,第19张

                                                6.对register方法发送请求(路径参数)

                                                SpringMVC基础篇(二),image-20240224162819570,第20张

                                                1.分析

                                                SpringMVC基础篇(二),image-20240224163022132,第21张

                                                2.发送请求

                                                SpringMVC基础篇(二),image-20240224163002537,第22张

                                                SpringMVC基础篇(二),image-20240224163009484,第23张

                                                7.对hello方法发送请求(带参数)

                                                SpringMVC基础篇(二),image-20240224163218681,第24张

                                                发送请求

                                                SpringMVC基础篇(二),image-20240224163126470,第25张

                                                8.Postman发送json数据(需要修改请求头)

                                                SpringMVC基础篇(二),image-20240224163807285,第26张

                                                SpringMVC基础篇(二),image-20240224163935801,第27张

                                                2.Rest(优雅的url请求风格)

                                                1.基本介绍

                                                SpringMVC基础篇(二),image-20240224165046213,第28张

                                                SpringMVC基础篇(二),image-20240224165100487,第29张

                                                2.Rest风格的url案例(crud)
                                                1.需求分析

                                                SpringMVC基础篇(二),image-20240224165606849,第30张

                                                2.环境配置(在上一篇的环境基础)
                                                1.配置web.xml
                                                    
                                                    
                                                    
                                                        HiddenHttpMethodFilter
                                                        org.springframework.web.filter.HiddenHttpMethodFilter
                                                    
                                                    
                                                    
                                                        HiddenHttpMethodFilter
                                                        /*
                                                    
                                                

                                                SpringMVC基础篇(二),image-20240224172107603,第31张

                                                2.配置springDispatcherServlet-servlet.xml
                                                    
                                                    
                                                    
                                                    
                                                    
                                                

                                                SpringMVC基础篇(二),image-20240224172357900,第32张

                                                3.前端样式模板rest.jsp
                                                <%--
                                                  Date: 2024/2/24
                                                  Time: 18:21
                                                  User: 孙显圣
                                                  Version:1.0
                                                --%>
                                                <%@ page contentType="text/html;charset=UTF-8" language="java" %>
                                                
                                                
                                                    Title
                                                
                                                
                                                

                                                rest风格的crud



                                                rest风格的查阅书籍(get)

                                                点击查阅书籍

                                                rest风格的添加书籍(post)

                                                name:


                                                rest风格的删除书籍(delete)

                                                删除指定id的书籍

                                                rest风格的修改书籍(put)



                                                4.GET
                                                1.BookHandler.java
                                                @RequestMapping("/user")
                                                @Controller
                                                public class BookHandler {
                                                    @GetMapping("/book/{id}") //这里使用的是路径参数
                                                    public String getBook(@PathVariable("id") String id) {
                                                        System.out.println("查询书籍id为" + id);
                                                        return "success";
                                                    }
                                                }
                                                
                                                2.rest.jsp

                                                SpringMVC基础篇(二),image-20240224184544701,第33张

                                                3.结果展示

                                                SpringMVC基础篇(二),image-20240224184628183,第34张

                                                5.POST
                                                1.BookHandler.java
                                                @RequestMapping("/user")
                                                @Controller
                                                public class BookHandler {
                                                    @PostMapping("/book")
                                                    public String addBook(String bookName) {
                                                        System.out.println("添加书籍:" + bookName);
                                                        return "success";
                                                    }
                                                }
                                                
                                                2.rest.jsp

                                                SpringMVC基础篇(二),image-20240224185414443,第35张

                                                3.结果展示

                                                SpringMVC基础篇(二),image-20240224185426051,第36张

                                                6.DELETE(重点看)
                                                1.rest.jsp
                                                <%--
                                                  Date: 2024/2/24
                                                  Time: 18:21
                                                  User: 孙显圣
                                                  Version:1.0
                                                --%>
                                                <%@ page contentType="text/html;charset=UTF-8" language="java" %>
                                                
                                                
                                                    Title
                                                    <%--引入jquery--%>
                                                    
                                                    
                                                
                                                
                                                

                                                rest风格的crud



                                                rest风格的删除书籍(delete)

                                                删除指定id的书籍 <%--隐藏表单,用于传递name=_method的参数--%> <%--动态传入action和_method的参数,并且以post的形式发送--%>


                                                2.BookHandler.java
                                                package com.sun.web.rest;
                                                import org.springframework.stereotype.Controller;
                                                import org.springframework.web.bind.annotation.*;
                                                /**
                                                 * 处理rest风格的请求
                                                 * @author 孙显圣
                                                 * @version 1.0
                                                 */
                                                @RequestMapping("/user")
                                                @Controller
                                                public class BookHandler {
                                                    //删除书籍
                                                    @RequestMapping (value = "/book/{id}", method = RequestMethod.DELETE) //路径参数
                                                    public String deleteBook(@PathVariable("id") String id) {
                                                        System.out.println("删除书籍: id为" + id);
                                                        //return给视图解析器,会解析这个重定向,让浏览器去访问网址/springmvc/user/success
                                                        return "redirect:/user/success";
                                                    }
                                                    //重定向到success.jsp
                                                    @RequestMapping("/success")
                                                    public String success() {
                                                        return "success";
                                                    }
                                                }
                                                
                                                3.结果展示

                                                SpringMVC基础篇(二),image-20240224204342936,第37张

                                                7.PUT
                                                1.rest.jsp
                                                <%--
                                                  Date: 2024/2/24
                                                  Time: 18:21
                                                  User: 孙显圣
                                                  Version:1.0
                                                --%>
                                                <%@ page contentType="text/html;charset=UTF-8" language="java" %>
                                                
                                                
                                                
                                                
                                                

                                                rest风格的crud



                                                rest风格的修改书籍(put)

                                                <%--1.post类型--%>
                                                请输入id: <%--2.传入一个name=_method值为PUT的参数--%>


                                                2.BookHandler.java
                                                package com.sun.web.rest;
                                                import org.springframework.stereotype.Controller;
                                                import org.springframework.web.bind.annotation.*;
                                                /**
                                                 * 处理rest风格的请求
                                                 * @author 孙显圣
                                                 * @version 1.0
                                                 */
                                                @RequestMapping("/user")
                                                @Controller
                                                public class BookHandler {
                                                    //修改书籍
                                                    @PutMapping("/book/update")
                                                    public String updateBook(String id){
                                                        System.out.println("修改书籍id为" + id);
                                                        return "redirect:/user/success";
                                                    }
                                                    //重定向到success.jsp
                                                    @RequestMapping("/success")
                                                    public String success() {
                                                        return "success";
                                                    }
                                                }
                                                
                                                3.结果展示

                                                SpringMVC基础篇(二),image-20240224205634569,第38张

                                                SpringMVC基础篇(二),image-20240224205627514,第39张

                                                8.HiddenHttpMethodFilter源码解析(debug)
                                                1.下断点

                                                SpringMVC基础篇(二),image-20240224210142872,第40张

                                                2.点击修改书籍

                                                SpringMVC基础篇(二),image-20240224210249173,第41张

                                                SpringMVC基础篇(二),image-20240224210303920,第42张

                                                3.下一步,发现了请求是POST

                                                SpringMVC基础篇(二),image-20240224210403994,第43张

                                                4.下一步,发现参数_method的值为PUT

                                                SpringMVC基础篇(二),image-20240224210733342,第44张

                                                5.下一步,将这个值转换成大写(意味着,在填值的时候,不区分大小写)

                                                SpringMVC基础篇(二),image-20240224210849757,第45张

                                                6.下一步,判断取得的值PUT是不是在集合中

                                                SpringMVC基础篇(二),image-20240224211017278,第46张

                                                7.下两步,将请求转换成PUT类型使得SpringMVC框架可以识别

                                                SpringMVC基础篇(二),image-20240224211246657,第47张

                                                9.Rest的DELETE和PUT总结