一个非常轻巧的基于Groovy的Web应用程序项目模板

您可能听说过该项目Grails是Ruby on Rails之类的Groovy版本的框架,该框架使您可以通过动态脚本轻松地创建Web应用程序。 尽管Grails提供了所有功能,但如果您仔细观察引擎盖,它并不是“轻巧”的。 我并不是说Grails不好或什么。 使用Grails编写Web应用程序实际上非常酷。 但是我发现自己经常想要更轻的东西,但仍然想要使用Groovy进行原型设计。 因此,在这里,我将向您展示一个maven-groovy-webapp项目模板,该模板用于开始任何Web应用程序开发。 它非常简单,轻巧,但是却非常时髦。

如何开始

解压缩上面的maven-webapp-groovy.zip文件,您应该看到以下几个文件:

bash> cd maven-webapp-groovy
bash> find .
bash> ./pom.xml
bash> ./README.txt
bash> ./src
bash> ./src/main
bash> ./src/main/java
bash> ./src/main/java/deng
bash> ./src/main/java/deng/GroovyContextListener.java
bash> ./src/main/resources
bash> ./src/main/resources/log4j.properties
bash> ./src/main/webapp
bash> ./src/main/webapp/console.gt
bash> ./src/main/webapp/health.gt
bash> ./src/main/webapp/home.gt
bash> ./src/main/webapp/WEB-INF
bash> ./src/main/webapp/WEB-INF/classes
bash> ./src/main/webapp/WEB-INF/classes/.keep
bash> ./src/main/webapp/WEB-INF/groovy
bash> ./src/main/webapp/WEB-INF/groovy/console.groovy
bash> ./src/main/webapp/WEB-INF/groovy/health.groovy
bash> ./src/main/webapp/WEB-INF/groovy/home.groovy
bash> ./src/main/webapp/WEB-INF/groovy/init.groovy
bash> ./src/main/webapp/WEB-INF/groovy/destroy.groovy
bash> ./src/main/webapp/WEB-INF/web.xml

如您所见,它是一个基于Maven的应用程序,并且我已经配置了tomcat插件,因此您可以这样运行它:

bash> mvn tomcat7:run
bash> open http://localhost:8080/maven-webapp-groovy/home.groovy

当然,使用maven,运行程序包阶段可以让您在准备就绪时将其部署到任何实际的应用程序服务器中。

bash> mvn package
bash> cp target/maven-webapp-groovy.war $APP_SERVER_HOME/autodeploy

这里面是什么

您应该在web.xml文件中检出主要配置,然后您会看到有一些内置的Groovy servlet和一个自定义侦听器。

<?xml version="1.0"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><description>Groovy Web Application</description><welcome-file-list><welcome-file>home.groovy</welcome-file></welcome-file-list><servlet><servlet-name>GroovyServlet</servlet-name><servlet-class>groovy.servlet.GroovyServlet</servlet-class></servlet><servlet-mapping><servlet-name>GroovyServlet</servlet-name><url-pattern>*.groovy</url-pattern></servlet-mapping><servlet><servlet-name>TemplateServlet</servlet-name><servlet-class>groovy.servlet.TemplateServlet</servlet-class></servlet><servlet-mapping><servlet-name>TemplateServlet</servlet-name><url-pattern>*.gt</url-pattern></servlet-mapping><listener><listener-class>deng.GroovyContextListener</listener-class></listener><context-param>  <param-name>initScripts</param-name><param-value>/WEB-INF/groovy/init.groovy</param-value></context-param><context-param>    <param-name>destroyScripts</param-name><param-value>/WEB-INF/groovy/destroy.groovy</param-value></context-param></web-app>

我选择使用GroovyServlet作为控制器(它是Groovy附带的),这使您可以使用/WEB-INF/groovy目录中的任何脚本。 就是这样,无需进一步设置。 这是启动Groovy Webapp的唯一要求! 请参阅console.groovy作为示例及其工作方式。 这是此JVM控制台的常规版本

现在,您可以使用Groovy处理任何逻辑,甚至可以根据需要生成HTML输出,但是我发现使用TemplateServlet更容易。 这样就可以将Groovy模板文件用作视图。 它非常类似于JSP,但是它使用Groovy代替! 而且我们知道Groovy语法要短得多! 请参阅console.gt作为示例及其工作方式。

GroovyContextListener是我写的东西,它是可选的。 这使您可以在webapp启动或关闭状态下运行任何脚本。 我创建了一个空的init.groovydestroy.groovy占位符。 因此,现在您拥有了几乎所需的任何Web应用程序原型所需的所有功能。

简单胜出

此设置只是加载了Groovy的普通Java Servlet。 我经常认为,越简单,错误越少,代码编写速度就越快。 没有沉重的框架,没有额外的学习曲线(除了基本的Servlet API和Groovy / Java的课程知识),然后就可以使用了。
使用此Groovy Webapp模板玩得开心! 并且让我知道您在玩过这个游戏后是否有炫酷的原型可以炫耀。

参考:来自A程序员杂志博客的JCG合作伙伴 Zemian Deng提供的基于Groovy的非常轻量的Web应用程序项目模板 。

翻译自: https://www.javacodegeeks.com/2012/12/a-very-light-groovy-based-web-application-project-template.html

一个非常轻巧的基于Groovy的Web应用程序项目模板相关推荐

  1. groovy 模板_一个非常轻巧的基于Groovy的Web应用程序项目模板

    groovy 模板 一个非常轻巧的基于Groovy的Web应用程序项目模板 您可能听说过该项目Grails是Ruby on Rails之类的Groovy版本的框架,该框架使您可以通过动态脚本更轻松地创 ...

  2. spring_在基于Spring的Web应用程序中使用Http Session

    spring 在基于Spring的Web应用程序中拥有和使用Http会话有多种方法. 这是基于最近项目经验的总结. 方法1 只需在需要的HttpSession中注入即可. @Service publi ...

  3. 在Autodesk应用程序商店发布基于浏览器的Web应用程序

    你一定已经听说过Autodesk应用程序商店了,通过Autodesk应用程序商店,你可以免费下载或购买来自全球的优秀开发者发布的应用程序,来帮助你更快更方便的完成你的工作.而且作为开发者,您也可以在A ...

  4. 掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 应用程序

    在不刷新页面的情况下使用 DOM 改变网页界面 文档选项 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 样例代码 级别: 中级 Brett McLaughlin (mailto ...

  5. 在基于Spring的Web应用程序中使用Http Session

    在基于Spring的Web应用程序中拥有和使用Http会话有多种方法. 这是基于最近项目经验的总结. 方法1 只需在需要的HttpSession中注入即可. @Service public class ...

  6. 基于 uni-app 和 uni-cloud 小程序项目开发实战

    基于 uni-app 和 uni-cloud 小程序项目开发实战 前言 一.技术栈 二.环境搭建 三.项目功能介绍 1.地图地点搜索及路线规划 2.uniCloud服务空间 3.AI识图 4.上拉框组 ...

  7. gradle创建web工程_Gradle入门:创建Web应用程序项目

    gradle创建web工程 这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目. 更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并 ...

  8. Gradle入门:创建Web应用程序项目

    这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目. 更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并在开发环境中运行我们的Web ...

  9. 黄聪:用于 Web 应用程序项目部署的 Web.config 转换语法

    Web.config 文件通常包括根据应用程序的运行环境而必须不同的设置. 例如,在部署 Web.config 文件时,您可能必须更改数据库连接字符串或禁用调试. 对于 Web 应用程序项目,ASP. ...

最新文章

  1. pthread_testcancel和pthread_cancel函数的简单示例
  2. oracle 10g安装
  3. gsoap写一个c++ webservice
  4. 全志 修改KEY Patch
  5. php 10060,远程连接mysql 10060错误
  6. 【译】NoClassDefFoundError和ClassNotFoundException的不同
  7. 前端面试1:CSS布局
  8. 超级详解 银行支付系统大小额(一代支付)、超级网银(二代支付)
  9. 快速使用CSS技术手册
  10. 在Ubuntu中安装pycharm社区版
  11. 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]
  12. Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
  13. 05吸收应用:会整理还不够?教你吸收、联想、输出、应用
  14. kaggle中关于图像的比赛整理
  15. Eclipse 安装 Jrebel插件
  16. 为什么iPhone手机微信信息老是出现延误?原来是这5大原因搞的鬼
  17. PHP函数源码之SESSION实现机制
  18. 超级助理Uta加密版使用指南
  19. Office 2007打开文档提示安装Web Developer和MUI解决
  20. 深度学习概述-神经网络与深度学习学习笔记(一)

热门文章

  1. rgb空间转换为luv
  2. H5C3新特性简单总结
  3. 如何使用纯JS过掉淘宝滑块
  4. 2022-2028全球钢材防火涂料行业调研及趋势分析报告
  5. TCP/IP协议栈 头部参数
  6. 人人都能看懂的「迭代器、生成器」入门指南!
  7. 微信小程序——背景音乐播放
  8. Cobalt strike的使用
  9. 金三银四春招特供|高质量面试攻略
  10. 《我是程序员》js方法套用