当前位置: 首页 > wzjs >正文

淄博seo网站排名优化北京网站优化哪家公司好

淄博seo网站排名优化,北京网站优化哪家公司好,备案编号不放在网站,dw是做静态网站还是动态的什么是Spring Web MVC 官方对Spring MVC的描述是这样的:Spring Web MVC 是基于Severlet API构建的原始Web框架,从一开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来自其源模块的名称(Spring-webmvc),但它…

什么是Spring Web MVC

官方对Spring MVC的描述是这样的:Spring Web MVC 是基于Severlet API构建的原始Web框架,从一开始就包含在Spring框架中。它的正式名称“Spring Web MVC”来自其源模块的名称(Spring-webmvc),但它通常被称为“Spring MVC”。

什么是Servlet呢?
Servlet 是一种实现动态页面的技术. 准确来讲Servlet是⼀套 Java Web 开发的规范,或者说是⼀套 Java Web 开发的技术标准. 只有规范并不能做任何事情,必须要有人去实现它. 所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、⽅法、属性等.
Servlet 规范是开放的,除了 Sun 公司,其它公司也可以实现 Servlet 规范,目前常见的实现了 Servlet 规范的产品包括 Tomcat、Weblogic、Jetty、Jboss、WebSphere 等,它们都被称
为"Servlet 容器". Servlet 容器用来管理程序员编写的 Servlet 类.

从上述定义我们可以得出一个信息:Spring Web MVC是一个Web框架。我们简称为:Spring MVC 。

那么什么是MVC呢?

MVC定义

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

View(视图):指在应用程序中专门用来和浏览器进行交互,展示数据的资源。

Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑的部分。

Controller(控制器):可以理解为分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后要跳转回哪一个视图。即用来连接视图和模型。

比如我们去面试

我们进到公司之后,会先有一个HR接待我们,然后HR会带我们去找这个公司对应岗位的负责人,负责人会带我们去对接和我们面试的面试官。

在这个过程中,HR就是View(视图),负责接待我们;负责人就是Controller(控制器),根据我们的情况来去对接面试官;面试官就是Model(模型),根据负责人的要求来完成面试。

什么是Spring MVC?

MVC是一种架构设计模式,也是一种思想,而Spring MVC是对MVC思想的具体实现。除此之外,Spring MVC还是一个Web框架。

总的来说,Spring MVC是一个实现了MVC模式的Web框架。所以,Spring MVC是一个实现了MVC模式的Web框架,所以,Spring MVC主要关注有两个点:1、MVC   2、Web框架。

其实,我们早在上一篇文章就已经使用过Spring MVC了,在创建Spring Boot项目是,我们勾选的Spring Web框架其实就是Spring MVC框架:

这时候,有的同学就有疑问了,前面创建的不是Spring Boot 项目吗?怎么又变成Spring MVC项目了?他们之间到底有着什么样的关系呢?

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

打个比方:

Spring是火车的话,那么Spring MVC就是卖火车票这个任务,Spring Boot是123

06,Spring MVC和Spring Boot都不能脱离Spring单独存在,换句话说它们都依赖于Spring。(卖火车票这件事和12306这个程序都不能离开火车),而Spring Boot是实现Spring MVC的一种方式(卖火车票能通过12306售卖,也可以通过售票处售卖)。

不过Spring在实现MVC时,也结合自身特点,做了一些改变,相对而言,下面这个图或许更加合适一些。 

学习Spring MVC

既然是Web框架,那么当用户在浏览器中输入了url之后,我们的Spring MVC项目就可以感知到用户的请求,并给与响应。

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

主要分以下三个方面:

1、建立连接:将用户(浏览器)和Java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序。

2、请求:用户请求时会带一些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能。

3、响应:执行了业务逻辑之后,要把程序执行的结果放回给用户,也就是响应。

对于Spring MVC来说,掌握了以上三个功能就相当于掌握了Spring MVC。

项目准备

SPringleMVC项目创建和Spring Boot创建项目相同,在创建的时候选择Spring Web就相当于创建了Spring MVC项目。

创建项目时勾选上Spring Web模块即可,如下图所示:

 建立连接

在Spring MVC中使用@RequestMapping来实现URL路由映射,也就是浏览器连接程序的作用。

先在工作目录中,写一个RequestController类:

再添加上如下代码和注解: 

@RestController
public class RequestController {@RequestMapping("/hello")public String sayHello(){return "hello spring mvc";}
}

启动之后,访问:127.0.0.1:8080/hello ,就可以看到程序返回的数据了。

@RequestMapping注解介绍

@RequestMapping是Spring Web MVC应用程序中最常被用到的注解之一,它是用来注册接口的路由映射的。表示服务收到请求时,路径为/hello的请求就会调用sayHello这个方法的代码。

路由映射:当一个用户访问URL时,将用户的请求对应到程序某个类的某个方法的过程就叫做路由映射。

既然@RequestMapping已经可以达到我们的目的了,我们为什么还要加@RestController呢?

我们可以试着把@RestController去掉,重新启动服务器后,再访问一次。

可以看到,程序报了404(Not Found),找不到该页面,这就是@RestController起到的作用。

一个项目中,会有很多的类,每个类可能会有很多的方法,Spring怎么知道要去执行哪个方法呢?Spring会对所有的类进行扫描,如果类加了注解@RestController,Spring才会去看这个类里面的方法有没有加@RequestMapping这个注解。当然它的作用不止这一点,我们先用,后面再详细讲解。

@RequestMapping使用

@RequestMapping既可以修饰类,也可以修饰方法,当修饰类和方法时,访问的地址是类路径+方法路径。

@RequestMapping标识一个类:设置映射请求路径的初始信息。

@RequestMapping标识一个方法:设置映射请求请求路径的具体信息。

在原有代码的基础上,使用@RequestMapping修饰类。

@RequestMapping("/request")
@RestController
public class RequestController {@RequestMapping("/hello")public String sayHello(){return "hello spring mvc";}
}

刷新服务器,并访问:127.0.0.1:8080/request/hello 

@RequestMapping是GET还是POST请求

GET请求 :

浏览器发送的请求类型都是get,通过以上案例,可以看出@RequestMapping支持get请求。

我们也可以通过Fiddler抓包进行查看:

也可以得到:@RequestMapping支持get请求。

Post请求:

我们通过form表单来构造请求:在stactic目录下创建test.html。

html代码如下: 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="/request/hello" method="post"><input type="submit" value="提交">
</form>
</body>
</htm

 刷新之后,访问:标题。

点击提交的同时,使用Fiddler进行抓包。可以看到@RequestMapping是支持Post请求的。


文章转载自:

http://8WEPHTIj.skrrq.cn
http://4ONDtBzj.skrrq.cn
http://OEfPR8Ie.skrrq.cn
http://e7mSq7b7.skrrq.cn
http://deyp8ae5.skrrq.cn
http://UuuIpAzQ.skrrq.cn
http://KqrzN3YD.skrrq.cn
http://QB3aIVZc.skrrq.cn
http://Zp5i6ZXa.skrrq.cn
http://10fTC2lz.skrrq.cn
http://GCh2ZI51.skrrq.cn
http://zui1NQIg.skrrq.cn
http://V42uTz2s.skrrq.cn
http://jVzGZegz.skrrq.cn
http://2qGvj4eA.skrrq.cn
http://7dI43c70.skrrq.cn
http://DurIDXPo.skrrq.cn
http://S6WWFqBZ.skrrq.cn
http://8Pg00jzj.skrrq.cn
http://ye9ENflX.skrrq.cn
http://y7lRbXft.skrrq.cn
http://68sjL6Ec.skrrq.cn
http://3XQPxB8a.skrrq.cn
http://FG1BAAe1.skrrq.cn
http://MpsOq7g4.skrrq.cn
http://XWcDKjd2.skrrq.cn
http://r2OqRgFI.skrrq.cn
http://B943ef4m.skrrq.cn
http://GiMGYaW1.skrrq.cn
http://fFnXuShM.skrrq.cn
http://www.dtcms.com/wzjs/757585.html

相关文章:

  • 深圳效果好的免费网站建设做民宿需要和多家网站合作吗
  • 广州住房公积金建设银行预约网站首页网站规划建设与管理维护课后答案
  • 河南建设厅八大员查询网站楼盘设计师工资一般多少
  • 做和别人类似的网站侵权吗深圳做响应式网站
  • 关于网站开发的创业计划书wordpress 清除插件
  • 网站写作赚钱google翻译
  • 南京网站优化平台东莞外贸网站搭建制作
  • 网站建站代理昆明网站建设方案优化
  • 奥派电子商务网站建设论文网站设计团队名称
  • 秦皇岛 免费建网站广西南宁网络营销网站
  • 移动建站优化互联网广告营销公司
  • 做deal网站淄博桓台学校网站建设定制
  • 如何做网站企划案百度开户流程
  • 做ppt好的网站有哪些内容开封seo公司
  • python做网站快吗建一个网站大约多少钱
  • 怎么做简易网站做展示型网站便宜吗
  • 加拿大28网站建设wordpress创意小工具
  • 小型静态网站是什么原因自己的网站做弹出广告
  • 网站怎么屏蔽ip访问湖北平台网站建设哪里好
  • 做网站图片尺寸设计相关的网站
  • 律师事务所网站设计方案evus在哪个网站做登记
  • php网站开发流程苏州注册公司多少钱
  • 高古楼网站找活做广告网址大全
  • 如何确定网站栏目微信如何绑定网站
  • 销售平台网站建设方案wordpress 外链转内链 页面
  • 研发项目备案在哪个网站做长春网站建设加q479185700
  • 网站服务器作用虚拟主机云主机
  • 服装网站建设策划方案wordpress域名404
  • 做app网站公司名称公司建立网站的好处
  • 电子商务网站建设与维护案例做开发房地产网站可行吗