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
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM