資料介紹
軟件簡介
Ring 是一個(gè) 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ù)的組合形成了一個(gè)易于理解、擴(kuò)展的 HTTP 處理鏈。
Ring 規(guī)范里面有如下5個(gè)核心概念:
- handlers,應(yīng)用邏輯處理的主要單元,由一個(gè)普通的 Clojure 函數(shù)實(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個(gè)組件的關(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)行上面的程序,就可以啟動(dòng)一個(gè)?Web 應(yīng)用,然后在瀏覽器訪問就可以返回Hello World
,同時(shí)在控制臺里面會打印出請求的 uri。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 基于Django89的web框架代码0次下载
- Noir Clojure的Web框架1次下载
- La Clojure IDEA的Clojure插件3次下载
- 在micropython上搭建web框架和web服务——新生代web框架:mpy-urouter5次下载
- Web服务组合匹配框架研究0次下载
- SSM框架在Web应用开发中的设计与实现 pdf下载2次下载
- 基于Web的自动化测试框架的研究0次下载
- Struts In Action使用领先的Java框架构建Web应用34次下载
- 基于Struts和Hibernate框架的Web应用的设计与32次下载
- 基于PKI/PMI的电力WEB应用安全框架26次下载
- 一种基于复用组件的WEB测控软件框架设计17次下载
- 基于Web 服务的应用集成框架的研究和应用10次下载
- 基于Struts框架和Procedure的Web开发模式79次下载
- 基于AOP的智能Web缓存框架4次下载
- 基于工作流技术的复合语义Web服务框架16次下载
- SSM框架的源码解析与理解551次阅读
- Python Web框架Django 5.0新特性1289次阅读
- 基于gin封装的web服务框架升级609次阅读
- shiro如何实现Web应用认证601次阅读
- 腾讯开源的前端框架介绍2456次阅读
- Web的应用基础896次阅读
- Web应用安全防护容易犯错的十大误区856次阅读
- 聊聊PHP的web应用程序开发框架存在的漏洞有哪些2036次阅读
- BPF ring buffer解决的问题及背后的设计2453次阅读
- 如何利用ESP8266和Neopixel Ring实现时钟的彩色显示3011次阅读
- 基于AJAX框架DWR、CP243-1 IT和Java多线程技术实现Web监控系统的设计2132次阅读
- Web自动化测试的UI框架结构及思路2342次阅读
- 初学Java Web开发应该如何学习2824次阅读
- 现在流行的Web APP开发框架有哪些11881次阅读
- python的web部署方式大全!3260次阅读
下載排行
本周
- 1第十一屆 藍(lán)橋杯 單片機(jī)設(shè)計(jì)與開發(fā)項(xiàng)目 省賽 程序設(shè)計(jì)試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 2輕松解碼串口通信
- 509.30 KB | 3次下載 | 免費(fèi)
- 3STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖
- 0.78 MB | 1次下載 | 免費(fèi)
- 4LT8822SS共漏N溝道增強(qiáng)型場效應(yīng)晶體管規(guī)格書
- 1.22 MB | 1次下載 | 免費(fèi)
- 5ACDC茂睿芯MK2687寬供電范圍高效率反激 PWM 控制器
- 2.28 MB | 1次下載 | 免費(fèi)
- 6LTS3002FJI N溝道增強(qiáng)型功率MOSFET規(guī)格書
- 1.30 MB | 次下載 | 免費(fèi)
- 7ESD保護(hù)器件ESD0504TL規(guī)格書
- 2.97 MB | 次下載 | 免費(fèi)
- 8ESD保護(hù)器件GBLCxxCI系列規(guī)格書
- 2.85 MB | 次下載 | 免費(fèi)
本月
- 1STM32開發(fā)板教程之STM32開發(fā)指南免費(fèi)下載
- 24.88 MB | 177次下載 | 3 積分
- 2EN60335-1安規(guī)標(biāo)準(zhǔn) 中文版本
- 1.86 MB | 53次下載 | 1 積分
- 3DeepSeek從入門到精通
- 5.07 MB | 38次下載 | 免費(fèi)
- 4第十一屆 藍(lán)橋杯 單片機(jī)設(shè)計(jì)與開發(fā)項(xiàng)目 省賽 程序設(shè)計(jì)試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 5NR-E531TX-XN冰箱說明書
- 8.64 MB | 19次下載 | 免費(fèi)
- 6STM32單片機(jī)無人機(jī)設(shè)計(jì)
- 8.81 MB | 10次下載 | 免費(fèi)
- 7華為硬件工程師手冊目前最全版本
- 1.02 MB | 8次下載 | 2 積分
- 8MAX9295電路圖
- 0.14 MB | 6次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935126次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191377次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183336次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81584次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論