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