有时候,我们需要的一个简单的不能再简单的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
分享到:
相关推荐
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,广泛用于开发、测试和部署Web应用程序。在本文中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)这个流行的Java集成开发环境中配置Jetty 9.4.11版本。...
在`src/main/webapp`下,你会找到Web应用的结构,如`WEB-INF`目录,其中包含`web.xml`(Servlet容器的部署描述符),以及静态资源和视图文件。 使用IDEA(IntelliJ IDEA)进行开发时,可以集成Gradle插件,方便地...
在Android开发中,有时我们需要在设备或模拟器上运行一个微型服务器来...结合`example-webapps`目录中的实际文件,你可以进一步实践和调试,以熟悉Jetty在Android环境中的应用。记住,实践是最好的老师,动手尝试吧!
Jetty 6是一款轻量级、高性能的Java Web服务器和HTTP服务器,它可以在Java应用程序中嵌入使用,无需单独部署。这篇博客文章可能是关于如何将Jetty 6集成到Java项目中的教程。以下是对这个主题的详细解释: 一、...
标题“IntelliJ IDEA 12 配置webapp项目和导入Eclipse工程”指的是一个教程,讲述了如何在IntelliJ IDEA 12版本中配置Web应用程序项目,并且从Eclipse环境中导入已有的工程。这个过程对于开发者来说至关重要,因为...
3. **Spring Boot**:Spring Boot简化了Spring应用程序的初始搭建以及开发过程,它内置了Tomcat服务器,并且提供了自动配置功能。在Spring Boot中,可以使用`@RestController`和`@RequestMapping`等注解创建RESTful...
在搭建Spring Web项目时,我们需要创建标准的Maven或Gradle项目结构,包括`src/main/java`(源代码)、`src/main/resources`(资源配置)、`src/main/webapp`(Web应用目录)等。 3. **配置pom.xml或build.gradle*...
上述脚本应用了'war'插件,该插件为web应用程序提供了默认的构建任务和配置。`sourceCompatibility`指定了Java版本。`repositories`定义了依赖项的来源,这里是中央Maven仓库。`dependencies`列出了项目所需的库,...
对于Java Web应用,`main`目录下应有`java`和`webapp`子目录。`java`存放Java源码,`webapp`则包含HTML、CSS、JavaScript、JSP等Web资源,以及WEB-INF目录,后者通常包含`web.xml`部署描述符。 **5. `readme.txt`**...
对于Web项目,选择"Web"类别,然后根据需求选择具体的应用服务器,如Tomcat或Jetty。 3. **配置项目设置**: 输入项目名称、位置以及项目使用的编程语言(Java、Groovy等)。此外,还需要选择项目使用的构建工具,如...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了预配置的依赖项和自动配置功能,使得开发者可以快速地构建可运行的独立应用程序。在Spring Boot Web应用...
3. `src/main/webapp`:存放Web应用的目录结构,包括`WEB-INF`、`index.jsp`等。 4. `build.gradle`:Gradle构建脚本,定义项目的构建规则、依赖和任务。 5. `gradle.properties`:全局或项目的属性配置文件。 6. `...
典型的目录结构包括`src/main/java`(存放Java源代码)、`src/main/resources`(存放资源文件)、`src/main/webapp`(存放Web应用资源,如HTML、CSS、JavaScript等)以及`pom.xml`(POM文件,存储项目信息和构建指令...
- `cas-server-webapp`: 这是CAS服务器的核心web应用程序,负责处理认证请求和响应。 - `cas-server-support-*`: 这些是CAS的各种扩展支持模块,如邮件服务、监控、统计等。 - `cas-server-integration-*`: 这些...
根目录下通常会有一个"src/main"目录,其中包含"java"子目录存放Groovy代码,"resources"子目录存放配置文件,"webapp"或"src/main/webapp"存放Thymeleaf模板和静态资源。 **部署与运行** 项目可能使用Maven或...
接下来,为了使Spring Boot应用可以被Tomcat识别为一个标准的Servlet容器应用,我们需要在`src/main/webapp/WEB-INF`目录下创建`web.xml`文件。但要注意,Spring Boot 2.x及以上版本默认并不支持这种方式,因为它们...
对于非Spring Boot项目,可能需要部署到应用服务器或使用Jetty/Maven插件来运行。 2. **测试**:Gradle提供内置的测试支持,可以编写JUnit或Spock测试,并通过`./gradlew test`命令运行。 这个项目实例涵盖了Java ...
配置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 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立...
"my-war"是一个与Java相关的项目,从标题和描述中我们可以推断这可能是一个Java Web应用的项目。在Java世界中,"war"文件通常指的是Web应用程序归档(Web Application Archive),它是Java EE规范的一部分,用于打包...