資料介紹
軟件簡介
Ring 是一個 Clojure 的 Web 框架,它與 Python 的 WSGI 和 Ruby 的 Rake 非常類似。通過把 HTTP 的細(xì)節(jié)抽象為簡單且模塊化的 API,Ring 允許 Web 應(yīng)用程序由模塊化組件構(gòu)成,這些組件可以在各種應(yīng)用程序、Web 服務(wù)器和 Web 框架之間共享,用來構(gòu)建類型廣泛的應(yīng)用。
Ring 充分體現(xiàn)了函數(shù)式編程的思想 —— 通過一系列函數(shù)的組合形成了一個易于理解、擴(kuò)展的 HTTP 處理鏈。
Ring 規(guī)范里面有如下5個核心概念:
- handlers,應(yīng)用邏輯處理的主要單元,由一個普通的 Clojure 函數(shù)實現(xiàn)
- middleware,為 handler 增加額外功能
- adapter,將 HTTP 請求轉(zhuǎn)為 Clojure 里的 map,將 Clojure 里的 map 轉(zhuǎn)為 HTTP 相應(yīng)
- request map,HTTP 請求的 map 表示
- response map,HTTP 相應(yīng)的 map 表示
這5個組件的關(guān)系可用下圖表示(By?Ring 作者):
+---------------+
| Middleware |
| +---------+ | +---------+ +--------+
| | |<-- request ----| | | |
| | Handler | | | Adapter |<---->| Client |
| | |--- response -->| | | |
| +---------+ | +---------+ +--------+
+---------------+
Hello World
(ns learn-ring.core
(:require [ring.adapter.jetty :refer [run-jetty]]))
(defn handler [req]
{:headers {}
:status 200
:body "Hello World"})
(defn middleware [handler]
"Audit a log per request"
(fn [req]
(println (:uri req))
(handler req)))
(def app
(-> handler
middleware))
(defn -main [& _]
(run-jetty app {:port 3000}))
運(yùn)行上面的程序,就可以啟動一個?Web 應(yīng)用,然后在瀏覽器訪問就可以返回Hello World
,同時在控制臺里面會打印出請求的 uri。
- Noir Clojure的Web框架
- La Clojure IDEA的Clojure插件
- 在micropython上搭建web框架和web服務(wù)——新生代web框架:mpy-urouter
- Web服務(wù)組合匹配框架研究 0次下載
- SSM框架在Web應(yīng)用開發(fā)中的設(shè)計與實現(xiàn) pdf下載 2次下載
- 基于Web的自動化測試框架的研究 0次下載
- Struts In Action使用領(lǐng)先的Java框架構(gòu)建Web應(yīng)用 34次下載
- 基于MVC模式的WEB應(yīng)用框架
- 基于Struts和Hibernate框架的Web應(yīng)用的設(shè)計與
- 基于PKI/PMI的電力WEB應(yīng)用安全框架
- 一種基于復(fù)用組件的WEB測控軟件框架設(shè)計
- 基于Web 服務(wù)的應(yīng)用集成框架的研究和應(yīng)用
- 基于Struts框架和Procedure的Web開發(fā)模式
- 基于AOP的智能Web緩存框架
- 基于工作流技術(shù)的復(fù)合語義Web服務(wù)框架
- SSM框架的源碼解析與理解 331次閱讀
- Python Web框架Django 5.0新特性 1175次閱讀
- 基于gin封裝的web服務(wù)框架升級 531次閱讀
- shiro如何實現(xiàn)Web應(yīng)用認(rèn)證 528次閱讀
- 騰訊開源的前端框架介紹 2196次閱讀
- Web的應(yīng)用基礎(chǔ) 803次閱讀
- Web應(yīng)用安全防護(hù)容易犯錯的十大誤區(qū) 791次閱讀
- 聊聊PHP的web應(yīng)用程序開發(fā)框架存在的漏洞有哪些 1834次閱讀
- BPF ring buffer解決的問題及背后的設(shè)計 2339次閱讀
- 如何利用ESP8266和Neopixel Ring實現(xiàn)時鐘的彩色顯示 2863次閱讀
- 基于AJAX框架DWR、CP243-1 IT和Java多線程技術(shù)實現(xiàn)Web監(jiān)控系統(tǒng)的設(shè)計 2048次閱讀
- Web自動化測試的UI框架結(jié)構(gòu)及思路 2278次閱讀
- 初學(xué)Java Web開發(fā)應(yīng)該如何學(xué)習(xí) 2765次閱讀
- 現(xiàn)在流行的Web APP開發(fā)框架有哪些 1.1w次閱讀
- python的web部署方式大全! 3183次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論