Groovy学习笔记-Groovlets

本文介绍如何使用GroovyServlet创建动态网页内容。通过示例代码展示了如何利用Groovy语言的简洁特性进行Servlet开发,并介绍了必要的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你能够使用Groovy( 例如:Groovlets) 写一个正常的Java servlets。

这里还有一个 GroovyServlet

 

此功能会自动编译你的.groovy 源文件,把它们变成字节码,加载类并且缓存它,直到你改变源文件。

下面是一个简单的例子来说明你通过 Groovlet 可以做的事情

请注意隐含变量访问 session,output request 的用法。 还要注意,这更像是一个脚本 ,因为它没有一个类的包装。

	if (!session) {

	  session = request.getSession(true);

	}
	if (!session.counter) {

	  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
做同样的事情:

        if (!session) {

	  session = request.getSession(true)

	}
	if (!session.counter) {

	      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



隐含变量

 

下面的变量是已经准备好在groovlets 中使用的:

变量名

绑定到

request

ServletRequest

 

response

ServletResponse

 

context

ServletContext

unlike Struts

application

ServletContext

unlike Struts

session

getSession(false)

can be null! see A

params

 

a Map object

headers

 

a Map object

out

response.getWriter()

see B

sout

response.getOutputStream()

see B

html

new MarkupBuilder(out)

see B

 

A 如果已经有一个 session 对象, session 变量只能设置。 参见上面的例子 中“ if(session== NULL)” 的检查。

B 这些变量不能在 Groovlet 内重新分配。 他们在第一次访问时绑定, allowing to e.g. calling methods on the 'response' object before using 'out'.

 

设置Groovlets

如下内容放在你的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-INF/lib 目录下面。 您应该只需要 groovy.jar、antlr.jar asm.jar。 或复制 groovy-all-xyz.jar WEB-INF/lib 目录中。

 

现在把.groovy 文件放在根目录(即你存放HTML 文件的地方)。 Groovy servlet 需要编译.groovy 文件。

因此,对于使用Tomcat ,你可以像这样修改tomcat/conf/server.xml :

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



然后访问它http://localhost:8080/groovy/hello.groovy





 





 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值