SpringMVC框架

文章目录

一、Spring MVC 是什么

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

Web 框架

在之前学习 Servlet 的时候就已经接触到 Web 。所谓的 Web 框架,就是当用户输入一个 URL 地址后,将 URL 地址和程序进行映射,然后通过程序获取到用户的请求,经过请求的处理后,服务器发送的响应能够返回到客户端,将结果展示给用户

MVC 含义

MVC 是一种软件工程中的一种软件架构模式,将软件系统分成了模型、视图、控制器三部分

M(Model) :指的是 模型 ,用于处理应用程序数据逻辑部分

V(View) :指的是 视图 ,用于处理数据显示部分

C(Controller) :指的是 控制器 ,用于处理用户交互的部分

解释

用户通过浏览器去访问程序的时候,请求会先到 Controller(控制层),控制层验证参数的合法性,如果没有问题的话,就会将请求转发给 Model(模型)进行业务的处理,然后将结果(业务数据)响应给控制层,然后控制层再将数据发送给 View(视图),视图最后做合并和整理工作,组装成了一个 HTML 页面,最后将页面响应给用户

总的来说, MVC 就是一种思想, Spring MVC 就是对 MVC 这一种思想的具体实现

二、Spring MVC 具体使用

2.1 Spring MVC 创建

Spring MVC 使用 Spring Boot 的方式创建的,创建 Spring Boot 项目过程中有勾选依赖这一环节,勾选的 Spring Web 框架 就是 Spring MVC 框架,将该依赖给勾选上了,其余的就是正常的创建 Spring Boot 项目的步骤

2.2 Spring MVC 连接

Spring MVC 连接即将用户和 Java 程序进行连接,用户通过一个地址就可以调用到 Spring 程序

@RequestMapping 注解

在 Spring MVC 中常常使用 @RequestMapping 注解实现路由映射

路由映射就是用户访问 URL 时,能够将用户的请求和程序中的某个类中的某个方法对应起来

<pre class="prettyprint hljs kotlin">@RestController
@RequestMapping("/index")
public class  UserController  { 

    @RequestMapping("/hello")
    public String func() { 
        return "<h1>Hello Spring MVC</h1>";
    }
}</pre>
解释
  1. 当启动项目后,访问地址 http://127.0.0.1:8080/index/hello 是就能获取到返回的内容 “Hello Spring MVC”

  2. @RestController 注解是 @Controller 和 @ResponseBody 这两个注解的合体 。添加 @Controller 注解是为了项目启动后,该类放在了 Spring 容器中,被加载,方才能被访问到。添加 @RequestBody 注解是因为默认情况下回会返回一个静态页面,但是此时只是返回一个数据,因此需要添加

  3. @RequestMapping 注解是可以修饰类,也可以修饰方法,一定要在方法上添加该注解,类上面不一定需要

  4. 默认情况下,@RequestMapping 接收 GET 方式 的请求,但是也可以接收 POST 方式 的请求

显示指定方法
<pre class="prettyprint hljs kotlin">@RestController
@RequestMapping("/index")
public class  UserController  { 

    @RequestMapping(value =  "/hello",method =  RequestMethod.POST)
    public String func() { 
        return "<h1>Hello Spring MVC</h1>";
    }
}</pre>

通过 method 参数 内容就可以指定具体的接收方法,此时该方法只接收 POST 请求

@GetMapping 和 @PostMapping

除了在 @RequestMapping 注解中指定接收的方法之外,也可以直接使用 @GetMapping 和 @PostMapping 注解,前者使得方法只能接收 GET 请求,后者使得方法只能接收 POST 请求

2.3 如何获取参数

2.3.1 通过 URL 传递参数

想要获取 userName 和 passWord 对应的内容,可以直接使用方法中的参数来实现传参

<pre class="prettyprint hljs kotlin">@RestController
@RequestMapping("/index")
public class  UserController  { 

    @RequestMapping("/getUser")
    public String getUser(String userName,String passWord) { 
        return "userName->"+ userName + " | passWord->" + passWord;
    }
}</pre>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值