1章 kangaroo-egg简介

 

  Kangaroo-egg(袋鼠蛋)是完全采用java技术开发的一个结构清晰、效率优越、功能强大且将来必定会开源的web服务器。其完全遵循http1.1规范,同时具有开发动态网页及应用的功能,可以适用于各种中小型网站和web应用。kangaroo-egg拥有自己的开发语言DQM及容器(类似于Servlet/JSP),可以很容易开发出满足各种业务要求的web应用。相信不久的将来kangaroo-egg也将会成为流行的web开发平台。

  本章将简单介绍kangaroo-egg工作过程及其结构,最后介绍如何安装和启动kangaroo-egg服务器。

 

 

1.1 kangaroo-eggDQM容器

kangaroo-egg类似于JSP服务器,拥有自己的容器用于执行动态文件,我们称之为DQM容器和dqm脚本语言。DQM是一种运行在支持Java语言的服务器上的组件,此组件是kangaroo-egg的一部分,其功能是执行用dqm脚本语言编写动态文件。如果您知道aspjspphpdqm就是与这些脚本语言类似的语言,而且dqmjsp非常类似,如果您熟悉jsp则学dqm就如囊中取物一样简单。

那么DQM容器有什么特点呢?首先dqm脚本语言非常简单易学。其次DQM容器也是先将dqm脚本编译后再执行。最后DQM容器可以让用户指定可执行动态文件扩展名。表1-1-1dqm与其他几种脚本语言作了比较。

 

脚本语言

执行脚本语言的容器

可执行动态文件扩展名

执行过程

ASP

微软IIS服务器(内置执行asp的容器)

.asp

边解释边执行

JSP

Tomcat等服务器(内置执行jsp的容器)

.jsp

编译后执行

PHP

Apache HTTP等服务器(内置执行PHP的容器)

.php

边解释边执行

DQM

kangaroo-egg服务器(内置执行DQM的容器)

用户自己指定,默认.dqm

编译后执行

1-1-1

 

 

1.2 安装kangaroo-egg服务器

kangaroo-egg服务器因为采用java技术开发所以可以跨平台使用,不过我们仅在windowsredhat linuxSolaris 10三个操作系统下做过严格测试,其他平台或许会有兼容性问题。

安装kangaroo-egg服务器之前必须已安装JDK1.5,至于如何在各操作系统上安装JDK1.5请参考其它相关资料。

注意:kangaroo-egg服务器只能运行于JDK1.5及以上版本。

 

  官方目前发布的都是zip格式的压缩包,安装非常简单,只需要解压即可,但要配置一下。解压后的目录结构见图1-2-1

 

1-2-1

 

总共有三个目录,classes就是主程序目录,conf是配置文件所在目录,webapp是官方缺省安装的一个web应用。

进入classes目录后就会看到run.batrun.sh二个文件,其中run.bat是用于在windows下启动服务的脚本命令,而run.sh是用于在redhat linuxSolaris下启动服务的脚本命令。不过现在还不能执行,首先必须配置一下这二个脚本命令。

1. windows下编辑run.bat文件,你会看到如下内容:

1-2-2

 

注意红框内的XXX,请将此XXX换成JDK安装的目录,比如你的JDK安装在c:\jdk1.5下面则替换成如下内容:

1-2-3

 

之后就可以执行run.bat,成功后可以看到如下内容:

1-2-4

 

如果想让kangaroo-eggwindows的后台运行即没有dos窗口,可以修改java变成javaw,不过在dos窗口中显示的信息就无法看到了。修改后的内容如下:

1-2-5

 

2. linuxsolaris下编辑run.sh文件,你会看到如下内容:

1-2-6

 

同样注意红框内的XXX,请将此XXX换成JDK安装的目录,比如你的JDK安装在/jdk1.5下面则替换成如下内容:

1-2-7

 

之后就可以执行run.sh,成功后可以看到与图1-5相似的提示。

 

注意:run.sh属性必须是可执行,请在linuxunix下修改(修改方法参建linuxunix相关命令),否则将无法执行。

 

如果想让kangaroo-egglinuxsolaris的后台运行即没有控制台窗口,也可以采用如下命令执行:./run.sh &

 

注意:linuxunix下还有一个nohup命令可以将程序在后台运行。

  命令执行:nohup ./run.sh &

  执行后会在当前目录下自动生成nohup.out文件,所有在控制台显示的内容都会自动存入此文件中。不过访问量大时有可能会引起死机。