spring mvc的项目准备和连接建立方法-kb88凯时官网登录

时间:2024-10-18
阅读:
免费资源网,https://freexyz.cn/

1. 什么是 spring web mvc

spring web mvc 是基于 servlet api 构建的原始 web 框架,从已开是就包含在 spring 框架中。它的正式名称“spring web mvc”是自其源模块的名称(spring-webmvc),但它通常被称为“spring mvc”

[!quote] 什么是 servlet

  • servlet 是一种实现动态页面的技术。准确来讲 servlet 是一套 java web 开发的规范,或者说是一套 javaweb 开发的技术标准。只有规范并不能做任何事,必须要有人去实现它。所谓实现 servlet 规范,就是真正编写代码去实现 servlet 规范提到的各种功能,包括类、方法、属性等。
  • servlet 规范是开放的,除了 sun 公司,其他公司也能实现 servlet 规范,目前常见的实现了 servlet 规范的产品包括 tomcatweblogicjettyjbosswebsphere 等,它们都被称为“servlet 容器”。
  • servlet 容器用来管理程序猿编写的 servlet

从上述定义我们可以得出一个信息:spring web mvc 是一个 web 框架。下面我们简称“spring mvc

然而要真正理解什么是 spring mvc,我们首先要搞清楚什么是 mvc

1.1 mvc 定义

mvc 是 model view controller 的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为:模型、视图和控制器三个部分

spring mvc的项目准备和连接建立方法

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

我们去饭店吃饭,我们坐下,服务员让我们点单。点完之后,服务员就把单给到前台,然后前台把单给到后厨

  • 服务员 ==> view,接待我们的
  • 前台==> contriller,出现一些冲突(菜不对等等情况),就会去前台
  • 后厨 ==> model,菜做好之后,把菜品给到前台,前台再把菜给到服务员,服务员给我们上菜
我们是和服务员进行交互,前台是控制他们两个之间的关系

去面试,hr 和部门的负责人对接。候选人到达公司,hr 接待;hr 去找部门的负责人安排面试;部门的负责人安排一个小伙去进行面试

  • hr ==> view
  • 部门负责人 ==> controller
  • 面试官 ==> model

1.2 什么是 spring mvc

mvc 是一种设计模式,也是一种思想,而 spring mvc 是对 mvc 思想的具体实现。除此之外,spring mvc 还是一个 web 框架
总结来说:spring mvc 是一个实现了 mvc 模式的 web 框架

所以,spring mvc 主要关注有两个点:

  • mvc
  • web 框架

spring mvc 全称是 spring web mvc

其实,spring mvc 我们在前面已经用过了,在创建 spring boot 项目的时候,我们勾选的 spring web 框架,其实就是 spring mvc 框架:

spring mvc的项目准备和连接建立方法

可以看到,spring web 的介绍是:

  • build web, including restful, applications using spring mvc. uses apache tomcat as the default embedded container使用 spring mvc 构建 web 应用程序,包括 restful 应用程序。
  • 使用 apache tomcat 作为默认的嵌入式容器。

前面创建的不是 spring boot 项目吗?为什么又变成了 spring mvc 项目?它们之间到底有着什么样的关系?

spring boot 是 2014 年发布的,spring 是 2004 年发布的,在 2014 发布之前,就不能用 spring 实现 mvc 了吗?显然不是

  • spring boot 只是实现 spring mvc 的其中一种方式而已spring boot 可以添加很多依赖,借助这些依赖实现不同的功能。
  • spring boot 通过添加 spring web mvc 框架,来实现 web 功能

比如,厨房可以用来做饭,但真实实现做饭功能的是火以及各种做饭相关的工作和食材。厨房就好比是 spring boot,厨房可以装柜子,实现收纳功能,装燃气灶,实现做饭功能。做饭这个事,就是 mvc,在几千年前,有火就可以实现做饭

不过 spring 在实现 mvc 的时候,也结合自身项目的特点,做了一些改变,相对而言,下面这个图也许更加适合一些

spring mvc的项目准备和连接建立方法

不过核心没变

  • 比如上面的例子中,去饭店吃饭。一些饭店是前厅来负责接待客户,帮助客户点餐,也就是 controller 来负责接收用户的请求
  • 去公司面试,直接由面试官来接待候选人,省去了中间 hr 的交接环节

2. 学习 spring mvc

既然是 web 框架,那么当用户在浏览器中输入了 url 之后,我们的 spring mvc 项目就可以感知到用户的请求,并给予响应。我们也是主要学习如何通过浏览器和用户程序进行交互,主要分为以下三个方面:

  • 建立连接:将用户(浏览器)和 java 程序连接起来,也就是访问一个地址能够调用到我们的 spring 程序
  • 请求:用户请求的时候会带一些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能
  • 响应:执行了业务逻辑之后,要把程序执行的结果返回给用户,也就是响应

比如用户区银行存款

  • 建立连接:去柜台
  • 请求:带着银行卡,身份证去存款
  • 响应:银行返回一张存折

对于 spring mvc 来说,掌握了以上三个功能就相当于掌握了 spring mvc

2.1 项目准备

spring mvc 项目创建和 spring boot 创建项目相同,在创建的时候选择 spring web 就相当与创建了 spring mvc 的项目

在项目创建的时候,勾选上 spring web 模块即可,如下图所示:

spring mvc的项目准备和连接建立方法

2.2 建立连接

在 spring mvc 中使用 @requestmapping 来实现 url 路由映射,也就是浏览器连接程序的作用

创建一个 usercontroller 类,实现用户通过浏览器和程序的交互,具体实现代码如下:

import org.springframework.web.bind.annotation.requestmapping;  
import org.springframework.web.bind.annotation.restcontroller;  
@restcontroller  
public class usercontroller {  
    @requestmapping("/sayhello")  
    public string sayhi() {  
        return "hello, spring mvc";  
    }  
}

方法名和路径名称无需一致接下来访问:
http://127.0.0.1:8080/sayhi,就可以看到程序返回的数据了

spring mvc的项目准备和连接建立方法

免费资源网,https://freexyz.cn/
返回顶部
顶部
网站地图