`
wandernet
  • 浏览: 2355 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

Clojure学习:使用compojure做个特简单的web的例子

 
阅读更多
照着文档,做个很简单的web,用来学习。
web的功能:把数据库(文本文件)的内容显示到网页上。


1. lein new hello 会产生一个hello文件夹

2. 会在刚产生的hello文件夹里,自动添加一个project.clj文件,内容如下: (不一样可以改)
(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [compojure "1.1.1"]]
  :plugins [[lein-ring "0.7.3"]]
  :ring {:handler hello.handler/app}
  :profiles
  {:dev {:dependencies [[ring-mock "0.1.3"]]}})


3. 把src/hello/handler.clj的内容改成:
(ns hello.handler
  (:use compojure.core)
  (:require [compojure.handler :as handler]
            [compojure.route :as route])
  (:import (java.io BufferedReader FileReader)))

(defn db-to-html [file]
  (with-open [rdr (BufferedReader. (FileReader. file))]
    (apply str (map (fn [line] (str "<h1>" 
                                    ((read-string line) :title) 
                                    "</h1><br><p>"
                                    ((read-string line) :body) "</p>\n<hr>"))
                    (line-seq rdr)))))

(defroutes app-routes
  (GET "/" [] (db-to-html "f:/hello/res/a.db"))
  (route/not-found "Not Found"))

(def app
  (handler/site app-routes))



3. 在hello文件夹下添加res/a.db文件(其实就是文本文件,暂时当做数据库用)
a.db文件的内容是
{:title "标题", :body "文摘内容"}
。。。
。。。


4. CD HELLO -> lein ring server启动服务器

分享到:
评论

相关推荐

    compojure-api:具有Compojure和Swagger的Sweet Web API

    Compojure-API是一款基于Clojure语言的Web API开发框架,它结合了Compojure和Swagger的优势,使得构建...通过阅读`compojure-api-master`这个项目,你可以深入了解其工作原理,并学习如何在自己的项目中使用这些技术。

    clojure-web-skeleton:使用 Compojure 和 Vagrant 的 Clojure 项目的骨架

    带有 Vagrant 的 Clojure Web 项目的骨架 还没完... 待办事项: Clojure 脚本复制 nginx配置 文档 文档位于 docs 文件夹下,您应该按此顺序阅读它们 笔记 如果您运行的 VPS 的 RAM 少于 1GB,则可能需要设置交换以...

    Clojure脚本:数据处理的函数式利器

    在当今的数据驱动世界中,数据处理成为了一个核心任务。Clojure,作为一种现代的Lisp方言,以其独特的函数式编程特性,在数据处理领域展现出了强大的能力。本文将探讨Clojure脚本在数据处理中的应用,包括数据清洗、...

    Clojure脚本:函数式编程的现代演绎

    Clojure作为一种现代的函数式编程语言,它在数据处理、并发编程、Web开发以及与Java的互操作性方面展现出了强大的能力。Clojure的不可变数据结构、纯函数和强大的宏系统,为解决复杂的编程问题提供了优雅的解决方案...

    HandsOn_Fullstack_Clojure:使用云外壳帮助学习项目规模的Clojure(脚本)

    动手全栈Clojure 封闭反馈循环以学习项目规模的Clojure(脚本)动机Clojure(script)是现代的Lisp方言,通常是一种不错的编程语言。 它一直在倡导的一种哲学是拥有的,而则是珍贵的瑰宝(尤其是clojurescript中的热...

    Clojure学习——使用clojure jdbc操作mysql

    标题 "Clojure学习——使用clojure jdbc操作mysql" 指出的是一个关于使用Clojure编程语言通过Java Database Connectivity (JDBC) API来操作MySQL数据库的主题。Clojure是一种基于Lisp的函数式编程语言,它运行在Java...

    Pragmatic - Web.Development.with.Clojure.Jan.2014.pdf

    - **Compojure**:一个简单的Web路由框架,用于定义RESTful API。 - **Luminus**:一个基于Ring和Compojure的全栈Web开发框架。 - **Reagent** 和 **Om**:两个流行的ClojureScript库,用于构建客户端React组件。...

    clojure-maven-plugin:Apache Maven Mojo,用于将Clojure脚本编译为类文件

    欢迎使用Apache Maven 2的clojure-maven-plugin插件。...要使用此插件并开始使用clojure,请从一个空白的maven项目开始并声明该插件,并添加对clojure的依赖关系: &lt;packaging&gt;clojure .... &lt;p

    它从clojure开始:Clojure实用指南

    《它从Clojure开始:Clojure实用指南》是一本针对初学者和对Clojure感兴趣的开发者编写的教程。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,同时也支持JavaScript环境。这本书的目的是...

    blog-engine:使用compojure的小型博客引擎

    博客引擎整我先决条件您将需要安装 2.0.0或更高版本。跑步要为该应用程序启动Web服务器,请运行: lein ring server执照版权所有:copyright:2021 FIXME

    microservices-with-clojure:使用Clojure的微服务的学习笔记

    本学习笔记主要关注的是如何使用Clojure语言来构建微服务。 Clojure是一种基于Lisp方言的函数式编程语言,它运行在Java虚拟机(JVM)上,充分利用了Java生态系统的优势。在微服务领域,Clojure因其简洁的语法、强大...

    Programming_Clojure.pdf

    1. **Web开发**:Clojure提供了诸如Compojure、Ring等Web框架,非常适合构建高性能的Web应用程序。 2. **数据分析**:Clojure的函数式特性和宏系统使得它非常适合进行复杂的数据分析任务,尤其是在大数据处理方面...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    - **Web应用开发**: 使用Clojure构建Web应用程序,如利用Compojure框架或Ring库等。 #### 八、总结 - **Clojure**作为一种功能强大且灵活的函数式编程语言,在JVM上运行具有独特的优势。它不仅支持高效的函数式编程...

    clojure网站:clojure.org网站

    例如,Ring 是一个流行的 Clojure Web 应用程序接口(API),而 Datomic 是一个分布式数据库,它们都是用 Clojure 实现的。 6. **未来发展方向**: 随着云原生和微服务架构的普及,Clojure 作为能够高效处理并发和...

    Clojure入门介绍: Clojure - Functional Programming for the JVM

    Clojure入门介绍: Clojure - Functional Programming for the JVM

    Clojure学习教程.pdf

    Clojure是一种现代的、通用的、高性能的Lisp语言方言,运行在Java虚拟机(JVM)上。它被设计成一种函数式编程语言,强调不可变数据和持久数据结构。Clojure适用于多范式编程,包括面向对象、命令式、函数式和逻辑...

    企业clojure培训:面向开发人员和高级开发人员的clojure培训课程

    6. **Web开发**:Clojure有多个成熟的框架,如Compojure用于构建RESTful API,Ring作为HTTP抽象层。学员会接触到这些框架,学习如何构建Web应用程序。 7. **数据库交互**:Clojure与数据库的连接通常通过HDBC或SQL...

Global site tag (gtag.js) - Google Analytics