静态文件最好是放在一个单独的目录中,并由webserver进行处理。当前我们使用Compojure来处理这些静态文件。
2) 在public下创建index.html
01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
02 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
03 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
04 <head>
05 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
06 <title>My Address book</title>
07 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
08 </head>
09
10 <body id="main">
11 <p>
12 My Address Book
13 </p>
14 <body>
15 </html>
3) 启动webserver
lein repl src/address_book/core.clj
4) 存取 index.html
在浏览器中打开 http://localhost:8080/index.html,就会出现 “Page not
found” 的错误信息,而不是 “My Address Book”。 这是因为Compojure 还不知道如何处理静态文件夹。
辅助函数:
在Compojure 中需要添加两个路由辅助函数(route helper functions)。其中一个已经在 core.clj 中了。
1) not-found :
Compojure使用这个函数来处理所有其他未被定义路由。而此时还没有定义index.html 所以就会出现
“Page not found”。
2) files :
这个函数用来通知Compojure需要做为静态文件处理的目录。
然后修改 core.clj 使其能处理静态文件。
01 (ns address_book.core
02 (:use [compojure.core]
03 [ring.adapter.jetty])
04 (:require [compojure.route :as route]))
05
06 (defroutes example
07 (GET "/" [] "<h1>My Address Book!</h1>")
08 (route/files "/" {:root "public"})
09 (route/not-found "Page not found"))
10
11 (run-jetty example {:port 8080})
重新启动server (我将在稍后的blog中介绍通过使用futures以避免每次修改后对server的重启) ,
存取http://localhost:8080/index.html。现在你应该能够看到“My Address
Book”。
在这一部分中介绍了怎样处理静态文件。而在下一部分,我将开始实现Add,View,View All等功能。
PS: 我将在以后的帖子中介绍在Clojure 使用 Hiccup 来创建 HTML 和 css。
源码存放在 github . 每一部分对应一个分支。
相关推荐
Asp.net 2.0揭秘 source code part3 共5 parts
《Android应用开发揭秘》源码 part3
ASP.NET 3.5 揭秘.part3ASP.NET 3.5 揭秘.part3ASP.NET 3.5 揭秘.part3
Android应用开发揭秘.part3AndroidAndroid应用开发揭秘.part3AndroidAndroid应用开发揭秘.part3Android
wpf 揭秘 一共两部分,请下载: wpf 揭秘 wpf揭秘——part1.rar wpf 揭秘 wpf揭秘——part2.rar 然后解压。
共3部分,Android应用开发揭秘高清pdf版part3Android应用开发揭秘高清pdf版part3Android应用开发揭秘高清pdf版part3
wpf 揭秘 一共两部分,请下载: wpf 揭秘 wpf揭秘——part1.rar wpf 揭秘 wpf揭秘——part2.rar 然后解压。
WPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rarWPF揭秘.part4.rar
Android应用开发揭秘-part3
MATLAB揭秘清晰版电子书-Matlab揭秘.part3.rar 需要学习MATLAB?问题即刻解决! 在这本实用的指导书帮助下你立即就可使用MATLAB 了。 《MATLAB 揭秘》为学习这种功能强大的数学计算工具提供了高效的、启发性的...
WPF揭秘.part3.rar 中文 WPF揭秘.part3.rar 一共有分成3部分,31M
ASP.NET3.5揭秘卷一part3 一共5分卷
IEC 61000-3-5 Electromagnetic compatibility (EMC) –Part 3 Limits –Section 5 Limitation of voltage fluctuations and flicker in low-voltage power supply systems for equipment with rated current ...
WPF揭秘 中文版 WPF揭秘 中文版part1.rar 一共有分成3部分,31M
Android应用开发揭秘.part1Android应用开发揭秘.part1Android应用开发揭秘.part1Android应用开发揭秘.part1Android应用开发揭秘.part1
IEC TR 61000-3-7-2008 Electromagnetic compatibility (EMC) –Part 3-7 Limits – Assessment of emission limits for the connection of fluctuating installations to MV, HV and EHV power systems.pdf
Android应用开发揭秘.part3.rar
IEC 61000-3-12-2011 Electromagnetic compatibility (EMC) –Part 3-12 Limits – Limits for harmonic currents produced by equipment connected to public low-voltage systems with input current 16 A and ≤...
ASP.NET2.0揭秘源码.part2
Android应用开发揭秘.part4Android应用开发揭秘.part4Android应用开发揭秘.part4Android应用开发揭秘.part4