vert.x框架与tomcat的关系
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框架与tomcat的关系的更多相关文章
- 0001 - Spring 框架和 Tomcat 容器扩展接口揭秘
前言 在 Spring 框架中,每个应用程序上下文(ApplicationContext)管理着一个 BeanFactory,BeanFactory 主要负责 Bean 定义的保存.Bean 的创建. ...
- SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 如果你是使用 Eclipse 你需要先安装 MyEclipse,请参考:SSM 框架-02-MyEclipse ...
- log4j框架logger的继承关系以及使用场景
log4j框架logger的继承关系以及使用场景 log4j日志框架logger是存在继承关系的,我们一般都会在log4j.properties文件中定义log4j.rootLogger.其他所有lo ...
- 关于web.xml的welcome-file-list 配置与tomcat的关系:
关于web.xml的welcome-file-list 配置与tomcat的关系: 2018年04月18日 10:17:13 守望dfdfdf 阅读数:377 标签: welcome-file-lis ...
- [LINQ2Dapper]最完整Dapper To Linq框架(三)---实体类关系映射
此特性需要安装Kogel.Dapper.Mssql或者Oracle 3.06及以上版本,实体类层需要安装Kogel.Dapper.Extension 3.06及以上版本 目录 [LINQ2Dapper ...
- apache和tomcat的关系
apache和tomcat的关系: 举个例子:apache是一辆卡车,上面可以装一些东西如html等.但是不能装水,要装水必须要有容器(桶),tomcat就是一个桶(装像JAVA这样的水),而这个桶也 ...
- vert.x框架-使用spring注解功能
1.前言 习惯了spring注解风格,方便好用,现在用vert.x框架,怎么使用spring注解呢? 2.maven安装依赖包 <!--spring注解依赖包--> <depende ...
- [转载]javaEE规范和SSH三大框架到底有什么关系
转载自: http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...
- javaEE规范和SSH三大框架到底有什么关系
转自博客:http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...
随机推荐
- Go语言核心36讲(Go语言实战与应用二十五)--学习笔记
47 | 基于HTTP协议的网络服务 我们在上一篇文章中简单地讨论了网络编程和 socket,并由此提及了 Go 语言标准库中的syscall代码包和net代码包. 我还重点讲述了net.Dial函数 ...
- 玩转 Mockjs,前端也能跑的很溜
mockjs作用就是,生成随机模拟数据,拦截 ajax 请求,可以对数据进行增删改查.在生成数据时,我们就需要能够熟练使用 mock.js 的语法. Mockjs 的语法规范包括两部分:数据模板定 ...
- shell脚本 mysqldump方式全备份mysql
一.简介 源码地址 日期:2018/10/8 介绍:mysqldump方式全备份脚本,并保存固定天数的全备份 效果图: 二.使用 适用:centos6+ 语言:中文 注意:使用前先查看脚本,修改对应变 ...
- 什么是API?
一.简介 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序,与开发人员基于某软件或硬件得以访问一组例程的能力,而又 ...
- docker初识-docker安装、基于docker安装mysql及tomcat、基本命令
一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...
- CF134A Average Numbers 题解
Content 有 \(n\) 个数 \(a_1,a_2,a_3,...,a_n\).试求出使得 \(a_i\) 与其他所有整数的算术平均值相等的所有 \(i\). 数据范围:\(2\leqslant ...
- linux下记录入站请求
将内网机器通过frp映射到公网后,内网主机受到大量ssh爆破攻击,攻击来源为frp的服务端,仅在内网机器上无法追踪到真实的攻击来源的ip.下面记录了在frp服务端监控指定端口的入站数据,找到真正的攻击 ...
- java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)
什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStr ...
- [C# Expression] 之基础概念
00 | 什么是表达式树 表达式树以树形数据结构表示代码,其中每一个节点都是一种表达式,比如方法调用和 x < y 这样的二元运算等.可以对表达式树中的代码进行编辑和运算. 这样能够动态修改可执 ...
- docker查看容器元数据、详细信息,查看容器挂载的目录
通过 docker inspect 175f 查看容器元数据 我们启动docker的时候会挂载目录,但是挂载之后 后面就忘了 如何查看挂载的目录位置呢 可以通过 docker inspect a7a6 ...