1.前言

大学4年,老师唯一让我们学习的web服务器是tomcat,配置方式是先从官网下载阿帕奇的tomcat文件,然后在开发平台导入,然后再配置web.xml等文件,

是一个可同步可异步请求的服务器框架;

直到我遇到vert.x框架,这东西其实就是全异步java服务器,底层是使用Netty运行的,因此,可将vert.x看作是个与tomcat类似但是使用方式不同的服务器,

搭建vert.x服务器不需要单独下载文件再去开发平台单独配置信息,也不需要配置web.xml文件,

只需要运行一次主函数,即可启动程序,然后使用路由管理,可分多级路由拦截路径访问响应的内容或信息,访问方式可在路由设置,包括get、post等,默认是get方式,

参数传输在前端没有什么改变,支持url后的参数写法,也支持restful参数写法,post传输则需要指定一个BodyHandle,然后才能通过requestContext对象来获取body体中的数据,包括json和formData数据

package xue.myVertX;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import io.vertx.core.http.HttpMethod;
import io.vertx.core.http.HttpServer;
import io.vertx.ext.web.Router; /**
* 简单的路由使用
*/
public class SimpleRouter extends AbstractVerticle {
@Override
public void start() throws Exception {
// 创建HttpServer
HttpServer server = vertx.createHttpServer();
// 创建路由对象
Router router = Router.router(vertx);
// 监听/index地址
router.route("/index").handler(request -> {
request.response().end("INDEX SUCCESS");
}); // 获取参数 // router.route(HttpMethod.GET, "/method/:user/:pass").handler(request -> {
// String user = request.request().getParam("user");
// String pass = request.request().getParam("pass");
// request.response()
// .putHeader("Content-type", "text/html;charset=utf-8")
// .end("接收到的用户名为:" + user + " 接收到的密码为:" + pass);
// }); // 把请求交给路由处理--------------------(1)
server.requestHandler(router::accept);
server.listen(8080);
} public static void main(String[] args) {
Vertx.vertx().deployVerticle(new SimpleRouter());
}
}

网页访问-使用方法截图

深入了解后,其实思路与tomcat+springMCV框架类似,后面vert.x调用接口方法,其实就是与spring扫描controller注解方法一样,然后再调用后面的service层和dao层逻辑,

只是局部配置数据库的写法不同而已。

这是初步了解的心得

2.总结

  • vert.x框架   可称为 vert.x全异步服务器  ,tomcat则是可异步可同步服务器,
  • vert.x相比与tomcat的优点是  支持非常多语言,不仅仅可以使用java作为开发语言,python、c、scala等都可以,甚至js也可以,只需要安装对应版本的包,

  因为node.js可以办到的事情 vert.x也可以办到

  • vert.x因为是全异步,因此io性能很强,对一些要求使用异步传输数据的比例率很高的应用或者软件,很适合使用vert.x,比如移动端后台、 互联网、企业应用框架

有前辈早已总结的很全面,详细可看:https://blog.csdn.net/king_kgh/article/details/80848571

参考文章:  Vert.x相关系列文章
(一)Vert.x 简明介绍 https://blog.csdn.net/king_kgh/article/details/80772657
(二)Vert.x创建简单的HTTP服务 https://blog.csdn.net/king_kgh/article/details/80804078
(三)Vert.x Web开发之路由 https://blog.csdn.net/king_kgh/article/details/80848571
(四)Vert.x TCP服务实现 https://blog.csdn.net/king_kgh/article/details/84870775
(五)Vert.x数据库访问 https://blog.csdn.net/king_kgh/article/details/84894599
(六)Vert.x认证和授权 https://blog.csdn.net/king_kgh/article/details/85218454
(七)Vert.x事件总线(Event Bus)与远程服务调用 https://blog.csdn.net/king_kgh/article/details/86993812
 

vert.x框架与tomcat的关系的更多相关文章

  1. 0001 - Spring 框架和 Tomcat 容器扩展接口揭秘

    前言 在 Spring 框架中,每个应用程序上下文(ApplicationContext)管理着一个 BeanFactory,BeanFactory 主要负责 Bean 定义的保存.Bean 的创建. ...

  2. SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 如果你是使用 Eclipse 你需要先安装 MyEclipse,请参考:SSM 框架-02-MyEclipse ...

  3. log4j框架logger的继承关系以及使用场景

    log4j框架logger的继承关系以及使用场景 log4j日志框架logger是存在继承关系的,我们一般都会在log4j.properties文件中定义log4j.rootLogger.其他所有lo ...

  4. 关于web.xml的welcome-file-list 配置与tomcat的关系:

    关于web.xml的welcome-file-list 配置与tomcat的关系: 2018年04月18日 10:17:13 守望dfdfdf 阅读数:377 标签: welcome-file-lis ...

  5. [LINQ2Dapper]最完整Dapper To Linq框架(三)---实体类关系映射

    此特性需要安装Kogel.Dapper.Mssql或者Oracle 3.06及以上版本,实体类层需要安装Kogel.Dapper.Extension 3.06及以上版本 目录 [LINQ2Dapper ...

  6. apache和tomcat的关系

    apache和tomcat的关系: 举个例子:apache是一辆卡车,上面可以装一些东西如html等.但是不能装水,要装水必须要有容器(桶),tomcat就是一个桶(装像JAVA这样的水),而这个桶也 ...

  7. vert.x框架-使用spring注解功能

    1.前言 习惯了spring注解风格,方便好用,现在用vert.x框架,怎么使用spring注解呢? 2.maven安装依赖包 <!--spring注解依赖包--> <depende ...

  8. [转载]javaEE规范和SSH三大框架到底有什么关系

    转载自: http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...

  9. javaEE规范和SSH三大框架到底有什么关系

    转自博客:http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...

随机推荐

  1. java上传图片或文件

    转载至:http://www.xdx97.com/#/single?bid=8b351a73-922c-eadc-512e-9e248a3efde9 前端通过form表单用post方式提交文件,后台进 ...

  2. Mysql一致性效验_pt工具

    目录 一.简介 二.原理介绍 三.选项 四.环境 五.部署 一.简介 pt工具可以随机抽取主从的数据进行对比,用于测试主从数据一致性.也可以对不一致数据进行修复.这个工具在主或者从上安装均可 二.原理 ...

  3. Mysql资料 锁机制

    目录 一.简介 二.类型 三.操作 四.死锁 第一种情况 第二种情况 第三种情况 一.简介 数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同 ...

  4. 层次分析法、模糊综合评测法实例分析(涵盖各个过程讲解、原创实例示范、MATLAB源码公布)

    目录 一.先定个小目标 二.层次分析法部分 2.1 思路总括 2.2 构造两两比较矩阵 2.3 权重计算方法 2.3.1 算术平均法求权重 2.3.2 几何平均法求权重 2.3.3 特征值法求权重 2 ...

  5. YonBuilder低代码开发实践:4行代码实现跨实体列表数据同步

    提到增.删.改.查等数据维护,后端开发者们再熟悉不过了.传统的数据维护通过操作数据库的方式实现,步骤比较繁琐,需要通过Java代码实现数据库链接,然后编写SQL语句.编写实体,将想要的数据存到相应的数 ...

  6. Sentry 开发者贡献指南 - 前端 React Hooks 与虫洞状态管理模式

    系列 Sentry 开发者贡献指南 - 前端(ReactJS生态) Sentry 开发者贡献指南 - 后端服务(Python/Go/Rust/NodeJS) 什么是虫洞状态管理模式? 您可以逃脱的最小 ...

  7. STC8PROG - Linux下的 STC8G STC8H 烧录工具

    STC8PROG - Linux下的 STC8G STC8H 烧录工具 动机 在Linux下用 VSCode + PlatformIO 做开发, 因为VSCode的界面字体代码提示, 以及自定义的类J ...

  8. Linux使用docker安装RabbitMQ

    拉取镜像 docker pull rabbitmq:management 启动容器 docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=adm ...

  9. centos使用docker安装mysql5.7

    搜索镜像 docker search mysql 拉取镜像 docker pull mysql:5.7 启动mysql镜像 docker run -p 3306:3306 --name mysql - ...

  10. windows10源码编译llvm

    准备 cmake, 我目前使用的版本是3.18 llvm 源码, 我下载的是 11.0 我已经具备Vs2015和Vs2017的开发环境. debug模式编译需要较多内存和较多硬盘存储空间. (debu ...