gradle web
Gradle通过“ war”和“ jetty”插件轻松支持Java Web应用程序。 本教程将向您展示如何快速创建一个简单的Java Servlet Web应用程序。
我们的基本项目结构将是:
basic-websrcmainjavacomcodetutrHelloWorldServlet.javawebappWEB-INFweb.xml
首先,创建一个名为basic-web
的文件夹,然后在该文件夹内创建Gradle构建文件: build.gradle
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'eclipse-wtp'repositories {mavenCentral()
}dependencies {providedCompile 'javax.servlet:servlet-api:2.5'runtime 'javax.servlet:jstl:1.1.2'
}
eclipse-wtp插件允许我们根据需要将项目作为Dynamic Web Project
项目导入Eclipse,以便从Eclipse运行。 war插件扩展了Java插件,并增加了对打包WAR文件的支持。 jetty插件添加了一些任务,以支持从我们的构建文件在嵌入式Jetty实例中运行Gradle项目。 注意,我们将servlet-api包含为“ providedCompile”依赖项。 这意味着我们不希望将其打包在WAR中,因为它将包含在运行它的应用程序服务器中。 现在,让我们在src/main/webapp/WEB-INF
创建web.xml描述符文件:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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"><servlet><display-name>HelloWorldServlet</display-name><servlet-name>HelloWorldServlet</servlet-name><servlet-class>com.codetutr.HelloWorldServlet</servlet-class></servlet><servlet-mapping><servlet-name>HelloWorldServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
我们建立了一个由com.codetutr.HelloWorldServlet
支持的简单servlet,并映射到“ /”。 最后,让我们在src/main/java
包com.codetutr
创建servlet:HelloWorldServlet.java
package com.codetutr;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class HelloWorldServlet extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getOutputStream().write("Hello World.".getBytes());}
}
就这样。 现在,我们可以启动码头服务器,并查看我们的Web应用程序的运行情况:
$ gradle jettyRunWar
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:war
:jettyRunWar
现在转到http:// localhost:8080 / basic-web来访问您的servlet。 您应该看到“世界您好”。 屏幕上。 完整资源: basic-web.zip解压缩档案。 在未归档的根目录下打开命令提示符。 键入gradle jettyRunWar
。 转到http:// localhost:8080 / basic-web 。
翻译自: https://www.javacodegeeks.com/2013/04/simple-gradle-web-application.html
gradle web