<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Web.Java非阻塞式服務(wù)器

          聯(lián)合創(chuàng)作 · 2023-10-01 15:03

          Web.Java是一個(gè)高性能,輕量級(jí)的非阻塞式服務(wù)器。

          為了能更好的提高性能,Web.Java把HTTP服務(wù)區(qū)分應(yīng)用和文件服務(wù)兩種。

          • Web.Java 整體采用Reactor模式用來接收或響應(yīng)HTTP請(qǐng)求(原理同Nginx)。

          • 應(yīng)用服務(wù)采用了Reactor來響應(yīng)請(qǐng)求。

          • 文件服務(wù)采用了Proactor模式,并搭配304狀態(tài)使用,能極大的提高靜態(tài)文件的相應(yīng)速度,且不影響整體。

          模板引擎

          • 簡(jiǎn)單的標(biāo)簽:只需要記住{{}}標(biāo)簽用于輸出變量,{%%}標(biāo)簽用于if,for 等操作。

          • 可以繼承的模版:頁面的布局,HTML文件的復(fù)用等問題,通過模版繼承機(jī)制可以得到解決。用{%extends xx%}關(guān)鍵字實(shí)現(xiàn)繼承。

          • 高性能:Web.Java會(huì)自動(dòng)把Html文件,編譯成Java文件。應(yīng)用到生產(chǎn)環(huán)境的時(shí)候,速度等同于Java的硬輸出。且在DEBUG模式下,會(huì)動(dòng)態(tài)的加載模板文件,而不需要重啟進(jìn)程。

          靈活漂亮的URL

          隨便打開幾個(gè)J2EE的網(wǎng)站,我就不想吐槽那個(gè)URL了。Web.Java使用正則表達(dá)式來配置URL,這樣做可以提供足夠強(qiáng)大和靈活的URL模式。比如像用“/Article/23”想獲取文章的ID可以這樣來配置URL

          HttpServer.setPATH("/Article/(\\d+)",new ArticleHandler());  
          
          //ArticleHandler.java文件 get方法
          public void get(String id){  
            //獲取ID進(jìn)行其他操作
            ……  
          }

          這樣在ArticleHandler中對(duì)應(yīng)的get或者post方法中就會(huì)獲取相應(yīng)的參數(shù)。當(dāng)然,你可以任意的使用正則表達(dá)式來配置你的URL

          簡(jiǎn)單易用的數(shù)據(jù)庫操作

          Options.DBURL = "jdbc:mysql://localhost:3306/test";
          Options.DBDriver = "com.mysql.jdbc.Driver";
          Options.DBUser = "root";
          Options.DBPassword = "123456";

          配置好數(shù)據(jù)庫信息后,可以直接在Handler中使用DB中的靜態(tài)方法進(jìn)行操作。
          具體的操作在DB中有說明。當(dāng)然如果你想,可以使用任何你想用的ORM。當(dāng)然,希望你能直接使用SQL,不想解釋為什么。

          Hello World!

          看名字就知道了。讓我們開始使用Web.Java吧!
          把源碼包放到你的項(xiàng)目目錄下面。 然后在main方法中加入

          HttpServer.setPATH("/", new IndexHandler());
          System.out.println("Listen 8080");
          HttpServer.init(8080);

          IndexHandler.java

          public void get() {
              this.writer("Hello World!");
          }

          現(xiàn)在Run it 瀏覽器打開就會(huì)看到你Writer的內(nèi)容了。

          瀏覽 7
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久人妻电影 | 亚洲tv天堂 | 射一射在线视频 | 麻豆视频观看免费 | 亚洲中文字幕网 |