`
mxsfengg
  • 浏览: 208667 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

groovy 和jetty 搭建小webapp应用(转)

阅读更多

有时候,我们需要的一个简单的不能再简单的web应用,通常我这时候会用jetty 来实现一个嵌入式的web容器,写一个bat,鼠标点一下就能跑起来。 目录结构:
引用 ---App
   ---www
      ---WEB-INF
         ---web.xml
      ---index.gsp
      ---index.groovy
   ---logs
   ---lib
      ---commons-logging.jar
      ---groovy -all-1.5.7.jar
      ---jasper.jar
      ---javax.servlet.jar
      ---jetty 5.1.8-z4.jar web.xml:

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app>
<display-name>groovy</display-name>
<description>groovy</description>
<servlet>
<servlet-name>GSP</servlet-name>
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
</servlet>
<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>
<servlet-mapping>
<servlet-name>GSP</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.gsp</welcome-file>
</welcome-file-list>
</web-app>
 

app.groovy (启动脚本):
 
import org.mortbay.http.HttpContext;   
import org.mortbay.http.HttpListener;   
import org.mortbay.http.NCSARequestLog;   
import org.mortbay.http.SocketListener;   
import org.mortbay.http.SslListener;   
import org.mortbay.http.handler.MsieSslHandler;   
import org.mortbay.jetty.Server;   
import org.mortbay.jetty.servlet.WebApplicationContext;   
//应用定义   
def port = 8089  
def approot = ["/":"www"]//虚拟目录,支持多个["/":"www","/demo":"demo"]   
  
SocketListener listener = new SocketListener();   
listener.setPort(port);   
listener.setMinThreads(5);   
listener.setMaxThreads(100);   
listener.setMaxIdleTimeMs(30000);   
listener.setLowResourcePersistTimeMs(2000);   
listener.setAcceptQueueSize(0);   
Server server = new Server();       
server.addListener(listener);   
server.setRequestsPerGC(2000);   
server.setStatsOn(false);   
approot.each(){key,value ->   
  server.addWebApplication(key, value);   
}   
server.start();  
 
 
index.groovy (例子): Java代码 
request.setAttribute("user","1111")

context.getRequestDispatcher("/index.gsp?iuser=admin").forward(request,response)

index.gsp(例子):
Java代码 

<%
println params.iuser
println request.getAttribute("user")
println request.remoteHost
println headers.host
%>
 

windows下的bat: run.bat:
Java代码
  • java -classpath lib/groovy -all-1.5.7.jar;lib/javax.servlet.jar;lib/jetty 5.1.8-z4.jar;lib/commons-logging.jar;lib/jasper.jar groovy .ui.Groovy Main app.groovy  
  • 分享到:
    评论
    1 楼 linkerlin 2010-08-29  
    不错的东东~

    相关推荐

      jetty9.4.11+jetty在idea上的配置教程

      Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,广泛用于开发、测试和部署Web应用程序。在本文中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)这个流行的Java集成开发环境中配置Jetty 9.4.11版本。...

      gradle的jetty插件使用例子

      在`src/main/webapp`下,你会找到Web应用的结构,如`WEB-INF`目录,其中包含`web.xml`(Servlet容器的部署描述符),以及静态资源和视图文件。 使用IDEA(IntelliJ IDEA)进行开发时,可以集成Gradle插件,方便地...

      Android-I-Jetty服务器部署例子代码

      在Android开发中,有时我们需要在设备或模拟器上运行一个微型服务器来...结合`example-webapps`目录中的实际文件,你可以进一步实践和调试,以熟悉Jetty在Android环境中的应用。记住,实践是最好的老师,动手尝试吧!

      jetty6 嵌入到 javaproject中

      Jetty 6是一款轻量级、高性能的Java Web服务器和HTTP服务器,它可以在Java应用程序中嵌入使用,无需单独部署。这篇博客文章可能是关于如何将Jetty 6集成到Java项目中的教程。以下是对这个主题的详细解释: 一、...

      IntelliJ IDEA 12 配置webapp项目和导入Eclipse工程

      标题“IntelliJ IDEA 12 配置webapp项目和导入Eclipse工程”指的是一个教程,讲述了如何在IntelliJ IDEA 12版本中配置Web应用程序项目,并且从Eclipse环境中导入已有的工程。这个过程对于开发者来说至关重要,因为...

      WebApp:演示如何为Java RESTful Web应用程序设置整个构建过程

      3. **Spring Boot**:Spring Boot简化了Spring应用程序的初始搭建以及开发过程,它内置了Tomcat服务器,并且提供了自动配置功能。在Spring Boot中,可以使用`@RestController`和`@RequestMapping`等注解创建RESTful...

      spring-web搭建项目

      在搭建Spring Web项目时,我们需要创建标准的Maven或Gradle项目结构,包括`src/main/java`(源代码)、`src/main/resources`(资源配置)、`src/main/webapp`(Web应用目录)等。 3. **配置pom.xml或build.gradle*...

      Gradle构建(war) web项目示例

      上述脚本应用了'war'插件,该插件为web应用程序提供了默认的构建任务和配置。`sourceCompatibility`指定了Java版本。`repositories`定义了依赖项的来源,这里是中央Maven仓库。`dependencies`列出了项目所需的库,...

      gradle的war插件使用例子

      对于Java Web应用,`main`目录下应有`java`和`webapp`子目录。`java`存放Java源码,`webapp`则包含HTML、CSS、JavaScript、JSP等Web资源,以及WEB-INF目录,后者通常包含`web.xml`部署描述符。 **5. `readme.txt`**...

      idea创建web项目教程.zip

      对于Web项目,选择"Web"类别,然后根据需求选择具体的应用服务器,如Tomcat或Jetty。 3. **配置项目设置**: 输入项目名称、位置以及项目使用的编程语言(Java、Groovy等)。此外,还需要选择项目使用的构建工具,如...

      springbootwebapp:Spring Boot Web应用程序

      Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了预配置的依赖项和自动配置功能,使得开发者可以快速地构建可运行的独立应用程序。在Spring Boot Web应用...

      基于Gradle构建的JavaWeb项目

      3. `src/main/webapp`:存放Web应用的目录结构,包括`WEB-INF`、`index.jsp`等。 4. `build.gradle`:Gradle构建脚本,定义项目的构建规则、依赖和任务。 5. `gradle.properties`:全局或项目的属性配置文件。 6. `...

      Maven的Web应用程序

      典型的目录结构包括`src/main/java`(存放Java源代码)、`src/main/resources`(存放资源文件)、`src/main/webapp`(存放Web应用资源,如HTML、CSS、JavaScript等)以及`pom.xml`(POM文件,存储项目信息和构建指令...

      cas5.1.9单点登录压缩包

      - `cas-server-webapp`: 这是CAS服务器的核心web应用程序,负责处理认证请求和响应。 - `cas-server-support-*`: 这些是CAS的各种扩展支持模块,如邮件服务、监控、统计等。 - `cas-server-integration-*`: 这些...

      groovygoat:基于动态 groovythymeleaf 的课程系统的 POC

      根目录下通常会有一个"src/main"目录,其中包含"java"子目录存放Groovy代码,"resources"子目录存放配置文件,"webapp"或"src/main/webapp"存放Thymeleaf模板和静态资源。 **部署与运行** 项目可能使用Maven或...

      SpringBoot 配置构建war部署到tomcat运行

      接下来,为了使Spring Boot应用可以被Tomcat识别为一个标准的Servlet容器应用,我们需要在`src/main/webapp/WEB-INF`目录下创建`web.xml`文件。但要注意,Spring Boot 2.x及以上版本默认并不支持这种方式,因为它们...

      gradle项目实例

      对于非Spring Boot项目,可能需要部署到应用服务器或使用Jetty/Maven插件来运行。 2. **测试**:Gradle提供内置的测试支持,可以编写JUnit或Spock测试,并通过`./gradlew test`命令运行。 这个项目实例涵盖了Java ...

      Maven权威指南 很精典的学习教程,比ANT更好用

      配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-webapp ...

      springboot-jsp

      SpringBoot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立...

      my-war

      "my-war"是一个与Java相关的项目,从标题和描述中我们可以推断这可能是一个Java Web应用的项目。在Java世界中,"war"文件通常指的是Web应用程序归档(Web Application Archive),它是Java EE规范的一部分,用于打包...

    Global site tag (gtag.js) - Google Analytics