appengine-magic 项目教程

随笔3个月前发布 凌香
31 0 0

appengine-magic 项目教程

appengine-magicA library designed to make it easy to use Google App Engine from Clojure项目地址:https://gitcode.com/gh_mirrors/ap/appengine-magic

1. 项目的目录结构及介绍

appengine-magic 项目的目录结构如下:




appengine-magic/


├── project.clj


├── README.md


├── src/


│   └── appengine_magic/


│       ├── core.clj


│       ├── servlet.clj


│       └── ...


├── test/


│   └── appengine_magic/


│       └── ...


└── war/


    └── WEB-INF/


        ├── appengine-web.xml


        ├── lib/


        ├── classes/


        └── web.xml

目录结构介绍

project.clj: 项目的配置文件,定义了项目的依赖、插件等信息。README.md: 项目的说明文档。src/: 项目的源代码目录,包含主要的逻辑代码。
appengine_magic/: 主要的命名空间目录。
core.clj: 核心逻辑文件,包含主要的宏和函数。servlet.clj: 定义了与 Servlet 相关的逻辑。 test/: 项目的测试代码目录。war/: 用于部署的目录结构。
WEB-INF/: 包含配置文件和编译后的类文件。
appengine-web.xml: App Engine 的配置文件。lib/: 存放依赖的库文件。classes/: 存放编译后的类文件。web.xml: 定义了 Servlet 的映射和其他配置。

2. 项目的启动文件介绍

项目的启动文件主要是 src/appengine_magic/core.cljsrc/appengine_magic/servlet.clj

core.clj

core.clj 文件包含了项目的核心逻辑,其中最重要的宏是 def-appengine-app,它用于定义一个 App Engine 应用。




(ns appengine-magic.core


  (:require [ring.util.servlet :as servlet]))


 


(defmacro def-appengine-app


  [app-name ring-handler]


  `(let [servlet# (servlet/servlet ~ring-handler)]


     (def ~app-name servlet#)))

servlet.clj

servlet.clj 文件定义了与 Servlet 相关的逻辑,主要是将 Ring 处理程序转换为 Servlet。




(ns appengine-magic.servlet


  (:require [ring.util.servlet :as servlet]))


 


(servlet/defservice app)

3. 项目的配置文件介绍

项目的配置文件主要位于 war/WEB-INF/ 目录下。

appengine-web.xml

appengine-web.xml 文件是 App Engine 的配置文件,定义了应用的名称、版本等信息。




<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">


  <application>my-app</application>


  <version>1</version>


  <threadsafe>true</threadsafe>


</appengine-web-app>

web.xml

web.xml 文件定义了 Servlet 的映射和其他配置。




<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">


  <servlet>


    <servlet-name>app</servlet-name>


    <servlet-class>appengine_magic.servlet</servlet-class>


  </servlet>


  <servlet-mapping>


    <servlet-name>app</servlet-name>


    <url-pattern>/*</url-pattern>


  </servlet-mapping>


</web-app>

通过以上配置,可以确保项目在 Google App Engine 上正确部署和运行。

appengine-magicA library designed to make it easy to use Google App Engine from Clojure项目地址:https://gitcode.com/gh_mirrors/ap/appengine-magic

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...