豆沙包

…… …… 所学 所写 所想 所做 所悟…… ……

Groovlets

你能在Groovy里面写普通的Java Servlet。
存在一个GroovyServlet,自动编译.groovy文件,转变成字节码,装载类,并缓存它们,直到修改了源文件。
这儿有一个简单的例子来向你说明这事:
(注意访问session,output,request的隐式变量的用法)

import java.util.Date

if (session.counter == null{
  session.counter 
= 1
}


println 
"""
<html>
    
<head>
        
<title>Groovy Servlet</title>
    
</head>
    
<body>
Hello, $
{request.remoteHost}: ${session.counter}! ${new Date()}
    
</body>
</html>
"""
session.counter = session.counter + 1
或者,用MarkupBuilder完成相同的功能
import java.util.Date
import groovy.xml.MarkupBuilder

if (session.counter == null{
      session.counter 
= 1
}


html.html 
{    // html is implicitly bound to new MarkupBuilder(out)
  head {
      title(
"Groovy Servlet")
  }

  body 
{
    p(
"Hello, ${request.remoteHost}: ${session.counter}! ${new Date()}")
  }

}

session.counter 
= session.counter + 1

隐式变量

o_implicit variables.jpg

* 这些变量在groovylet里面不能被再次赋值。他们在第一次访问时被绑定,允许诸如在用"out"之前调用对象"response"的方法。

建立Groovylet

将下面放入web.xml中

<servlet>
<servlet-name>Groovy</servlet-name>
<servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Groovy</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>

然后,所有groovy jar文件放到WEB/lib目录下(只需放入groovy.jar和asm.jar即可)

把.groovy文件放入根目录(放html文件的地方)中,groovy servlet将会照管这些.groovy文件

就这个例子使用tomcat来说,要编辑tomcat/conf/server.xml ,类似于下面这样

<Context path="/groovy" docBase="c:/groovy-servlet"/>


posted on 2005-02-28 11:18 carob 阅读(623) 评论(0)  编辑  收藏 所属分类: Groovy


只有注册用户登录后才能发表评论。


网站导航: