当前位置:首页 » 《关于电脑》 » 正文

Spring Web MVC 入门使用

19 人参与  2024年03月28日 10:05  分类 : 《关于电脑》  评论

点击全文阅读


1. 什么是Spring Web MVC

Spring Web MVC是基于Servlet API 构建的原始Web框架,从一开始就包含在Spring框架中。

Servlet 是一套Java Web 开发的规范,或者说是一套Java Web 开发的技术标准。只有规范并不能做任何事情,必须要有人去实现它,实现Servlet就是去实现Servlet规范提到的各种功能,包括类,方法,属性等。例如Tomcat就实现了Servlet,称为“Servlet”容器。

1.1 MVC含义

MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制器三个基本部分。

View(视图):指在应用程序中专门用来与浏览器进行交互,展示数据的资源。Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑的部分。Controller(控制器):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图,即用来连接视图和模型。

 

1.2 什么是Spring MVC

(Spring MVC就是Spring Web MVC)

MVC是一种架构设计模式,而Spring MVC是对MVC思想的具体实现。我们上期创建Spring Boot项目时勾选的 Spring Web 框架,其实就是Spring MVC 框架,也就是说我们上期创建的Spring Boot项目也可以说是Spring MVC项目。

Spring Boot 和SpringMVC的关系就相当于,Spring Boot是一个可以添加很多功能的框架,当然也可以添加 Spring MVC,所以是一个包含的关系。

Spring实现MVC时 ,也结合自身项目的特点,进行了一些改变:

2. 使用Spring MVC

我们学习Spring MVC,重点也就是学习如何通过浏览器和用户进行交互。

建立连接:将用户浏览器和Java程序连接起来,也就是访问一个能调用我们Spring程序的地址请求:用户请求时会带有一些参数,在程序中要想办法获取参数,所以请求的处理主要是获取参数响应:执行了业务逻辑后,要把程序执行的结果返回给用户,也就是响应。

 2.1 创建项目

和创建Spring Boot项目相同,在创建时 选择上Spring Web即可

2.2 建立连接

在Spring MVC中使用 @RequsetMapping 注解来建立服务器和客户端的连接,用来指定处理哪些HTTP请求以及对应的路径。

package com.example.j20240313springmvc;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class RequestController {    @RequestMapping("/springMVC")    public String say() {        return "hello Spring MVC";    }}

@RequsetMapping 也可以修饰类

package com.example.j20240313springmvc;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RequestMapping("/request")@RestControllerpublic class RequestController {    @RequestMapping("/springMVC")    public String say() {        return "hello Spring MVC";    }}

注意访问的url会发生变化:

可以在类中放多个@RequsetMapping 修饰的方法,注意路径不能相同

@RequestMapping("/request")@RestControllerpublic class RequestController {    @RequestMapping("/say1")    public String say1() {        return "hello Spring MVC";    }    @RequestMapping("/say2")    public String say2() {        return "你好 Spring MVC";    }}

2.3 @RequestMapping支持GET请求还是POST请求

我们使用Fiddler抓包:

可以看到@RequsetMapping是支持get请求的。

浏览器发送的请求类型都是GET,我们可以在resources/static下写一个html文件使用post发送一个请求

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>post</title></head><body>    <form action = "/request/say2" method = "post">        <input type = "submit" value = "发送请求">    </form></body></html>

注意访问时IP和端口号后直接跟文件名,即把static当作根目录。

点击发送

成功跳转到say2 ,Fiddler中也可以看到post请求

2.4 PostMan使用 

作为一个后端开发人员,测试代码还要写html文件显得过于麻烦,所以我们可以使用一些工具来发送请求。

PostMan下载链接:Download Postman | Get Started for Free

注册后登录: 

点击Create 创建,创建完成后,点击Add a request,创建一个请求

我们输入url点击发送:

 

下面这些内容代表传递的参数。

Params代表使用查询字符串传参......

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/86945.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1