• 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());
        }
    }
    View Code

     网页访问-使用方法截图

    深入了解后,其实思路与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
     
  • 相关阅读:
    Codeforces Round #364
    HDU5727 Necklace
    bzoj4578: [Usaco2016 OPen]Splitting the Field
    Codeforces Round #363 (Div. 1) C. LRU
    BestCoder Round #84
    2014 Multi-University Training Contest 2
    php中 new self 和 new static的区别
    浏览器带着cookie去访问服务器,取出的数据为空
    左边用0填充补齐
    centos7修改密码
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/12840348.html
Copyright © 2020-2023  润新知