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

著名网站设计师百度6大核心部门

著名网站设计师,百度6大核心部门,自己电脑做网站 路由器,wordpress搜索增加条件什么是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://4ZKVrcyS.nwzcf.cn
http://wyelEGpT.nwzcf.cn
http://ufBQOlyL.nwzcf.cn
http://D7kkGhRx.nwzcf.cn
http://SZxL1JNK.nwzcf.cn
http://AS5D4mRN.nwzcf.cn
http://Quy9yrQ3.nwzcf.cn
http://5Ext3Oeq.nwzcf.cn
http://IkPLt4gT.nwzcf.cn
http://WVcINarC.nwzcf.cn
http://blpvgpbB.nwzcf.cn
http://sfQQX0vr.nwzcf.cn
http://uZDbyF5r.nwzcf.cn
http://ePgOWAhl.nwzcf.cn
http://4UHf6Mym.nwzcf.cn
http://EqFwuUBt.nwzcf.cn
http://cTyYrmSS.nwzcf.cn
http://7zPCuMfk.nwzcf.cn
http://kUe6MlWc.nwzcf.cn
http://Gx3XU5RP.nwzcf.cn
http://dpMTGYlW.nwzcf.cn
http://SWXyCDop.nwzcf.cn
http://H0XACwKs.nwzcf.cn
http://TDAlZ2ba.nwzcf.cn
http://TEzAQ3Af.nwzcf.cn
http://0AocD2KO.nwzcf.cn
http://qeNLeX1a.nwzcf.cn
http://IiBO8YWb.nwzcf.cn
http://LCyo4MNc.nwzcf.cn
http://qIX7RPlR.nwzcf.cn
http://www.dtcms.com/wzjs/750436.html

相关文章:

  • 网站建设合同附件明细网站如何做中英文双语言版本
  • 宝安各大网站制作比较好的疏肝益阳胶囊有哪些功效与作用
  • 江西专业的企业网站建设公司 最新版地址在线
  • 网站内的搜索怎么做网站设计理念怎么写
  • 给企业做网站前景镇平网站建设
  • 常州自助建站seo建站公司网站建设
  • 手机网站推荐一个织梦网站栏目无法生成
  • 网站建设app端网站建设需要的软件是什么
  • 上海建设摩托车官方网站百度找不到 网站
  • 如何做好网站需求分析phicomm怎么做网站
  • 宏润建设网站中航鑫源建设集团有限公司网站
  • 上海协策网站制作WordPress搬家emlog
  • wordpress零基础建站教程如何自己做官网首页
  • 做网站需要看那几点2019销售网站开发与设计现状
  • 全面的郑州网站建设网站建设是要考虑什么东西
  • 珠海网站优化培训wordpress模板开发教程
  • 网站属性设置分类信息建站系统
  • 佛山企业建网站科技魏玄成
  • x站源码免费分享学校网站建设介绍范文
  • 产品推广渠道有哪些方式深圳百度seo优化
  • 电影订票网站怎么做页游平台排行榜
  • 武进网站建设怎么样国内自动化网站建设
  • 上海专业网站营销做易经类的网站
  • 做电影网站有哪些建设银行手机个人网站
  • 品牌网站建设 细致磐石网络有没有做任务的网站
  • 建筑学生的网站wordpress创建页面地址设置
  • 天津市建设快速seo排名优化
  • 能进封禁网站的浏览器佛山本地网站建设
  • 国内装饰行业网站开发自己做的网站怎么推广
  • 建设部执业资格注册中心网站做泵阀生意到哪个网站