gradle web_简单的Gradle Web应用程序

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/javacom.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 。

参考: CodeTutr博客上来自JCG合作伙伴 Steve Hanson的Simple Gradle Web应用程序 。

翻译自: https://www.javacodegeeks.com/2013/04/simple-gradle-web-application.html

gradle web

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

密钥文件登录服务器,密钥文件登录云服务器

密钥文件登录云服务器 内容精选换一换远程桌面协议(Remote Desktop Protocol&#xff0c;RDP)&#xff0c;是微软提供的多通道的远程登录协议。本节为您介绍如何使用RDP文件远程登录Windows弹性云服务器。从管理控制台下载的RDP文件对应唯一的云服务器&#xff0c;当前RDP文件命…

centos格式化优盘命令_u盘格式化工具fat32u盘安装centos6.5

3、声卡驱动不完全匹配&#xff0c;重装下声卡驱动(这种情况很少)朋友电脑开不了机&#xff0c;找我帮他看看&#xff0c;雨林木风win10家庭版&#xff0c;他电脑系统是有做过备份的现在做64位系统引起的■灵活设置背景2、电脑主板电池怎么换新的主板电池不贵的&#xff0c;才不…

maven 安装本地jar_使用Maven安装本地jar

maven 安装本地jar1.问题与选择 Maven是一种非常通用的工具&#xff0c;其可用的公共存储库首屈一指。 但是&#xff0c;总会有一个不在任何地方托管的工件&#xff0c;或者托管该工件的存储库有依赖的风险&#xff0c;因为当您需要它时&#xff0c;它可能不会启动。 发生这种情…

一个网站服务器有多少个ip,一个服务器可以有多少个ip地址

一个服务器可以有多少个ip地址 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。会话保持&#xff0c;指负载均衡器可以识别客户与服…

redis集群scan_Redis scan命令的一次坑

Redis作为当前服务架构不可或缺的Cache&#xff0c;其支持丰富多样的数据结构&#xff0c;Redis在使用中其实也有很多坑&#xff0c;本次博主遇到的坑或许说是Java程序员会遇到的多一点&#xff0c;下面就听博主详细道来。线上服务堵塞String key keyOf(appid);int retryCount…

jbpm小项目测试_尝试使用jBPM Console NG(测试版)

jbpm小项目测试大家好&#xff01; 这是有关jBPM Console NG的另一篇文章。 经过6个月的辛苦工作&#xff0c;我很高兴为开发人员社区撰写这篇文章&#xff0c;以进行尝试。 在这篇文章中&#xff0c;我将解释如何从源代码构建应用程序。 这背后的主要思想是知道如何在测试过程…

hashmap 扩容是元素还是数组_HashMap 中的容量与扩容实现

总有人心里有火炬&#xff0c;而且彼此能看见。高手过招&#xff0c;招招致命JDK1.8 中 HashMap 的底层实现&#xff0c;我相信大家都能说上来个 一二&#xff0c;底层数据结构 数组 链表(或红黑树) &#xff0c;源码如下/*** 数组*/transient Node[] table;/*** 链表结构*/st…

用友数据库服务器如何修改,用友u8数据库服务器怎么设置

用友u8数据库服务器怎么设置 内容精选换一换本章介绍如何在管理控制台购买GaussDB(for openGauss)实例&#xff0c;并通过内网使用弹性云服务器连接GaussDB(for openGauss)实例。GaussDB(for openGauss)提供gsql工具帮助您在命令行下连接数据库&#xff0c;您需要提前创建一台弹…

红米路由器ac2100怎样设置ipv6_Redmi路由器AC2100开箱:六天线简单直接,功能丰富对玩家友好...

原标题&#xff1a;Redmi路由器AC2100开箱&#xff1a;六天线简单直接&#xff0c;功能丰富对玩家友好Redmi K30系列旗舰新品发布会期间&#xff0c;Redmi红米发布了Redmi路由器AC2100。这一命名让人不禁想起小米路由器AC2100。但就像同期发布的Redmi小爱音箱Play与小米小爱音箱…

hibernate批量查询_使用Hibernate批量获取

hibernate批量查询如果需要从Java处理大型数据库结果集&#xff0c;则可以选择JDBC&#xff0c;以提供所需的低级控制。 另一方面&#xff0c;如果您已在应用程序中使用ORM&#xff0c;则回退到JDBC可能会带来一些额外的麻烦。 在导航域模型时&#xff0c;您将失去诸如乐观锁定…

word2003流程图变成图片_Word中流程图怎么画 手把手教你制作!

步骤三&#xff1a;绘制流程图框架接下来我们开始绘制流程图的框架。所谓框架就是画出图形、把图形大致布局并在其中输入文字。在这里大家可以体会到&#xff0c;如果已经作好了草图&#xff0c;这里的操作将是比较轻松的&#xff0c;如果在这里边想边画&#xff0c;可能会耽搁…

cmakelists语法_CMakeList语法知识

在写这篇文章之前开始是想一些shell脚本与Makefile的一些基础语法知识。但是又觉得太过基础。关于Liunx shell脚本可以看看教程http://c.biancheng.net/linux_tutorial/ CMake是一种跨平台编译工具&#xff0c;CMake主要是编写CMakeLists.txt文件&#xff0c;然后通过cmake命令…

spring pom设置_Spring社交Twitter设置

spring pom设置在本系列的第一部分中 &#xff0c;我们研究了如何使用StackExchange REST API来检索其主要问题。 第二部分将重点设置使用Spring Social Twitter项目与Twitter REST API交互所需的支持。 最终目标是能够在多个帐户上每天发送两个问题&#xff0c;每个帐户集中讨…

apache mediawiki 安装_如何在CentOS 7上安装MediaWiki

如果您想构建自己的wiki网站&#xff0c;可以使用MediaWiki轻松完成&#xff0c; MediaWiki是一个最初为WikiPedia创建的PHP开源应用程序。 由于为此应用程序开发的第三方扩展&#xff0c;其功能可以轻松扩展。在本文中&#xff0c;我们将讨论如何使用LAMP (Linux&#xff0c;A…

Java 9迁移指南:七个最常见的挑战

我确定您已经听说过更新到Java 9并不是一件容易的事&#xff0c;甚至可能是不兼容的更新&#xff0c;而且对于大型代码库而言&#xff0c;迁移毫无意义。 这样做之后&#xff0c;我迁移了一个相当大的旧代码库&#xff0c;我可以告诉你&#xff0c;这还不错。 比碰到Java 8确实…

nuxt sass 全局变量的问题_Sass入门教程

SASS(Syntactically Awesome Stylesheet)是一个CSS预处理器&#xff0c;有助于减少CSS的重复&#xff0c;节省时间。 它是更稳定和强大的CSS扩展语言描述文档的风格结构。sass中文网而且Sass算是CSS的超集&#xff0c;它100%兼容CSS的语法&#xff0c;所有在 CSS 中正常工作的代…

javascript对象包含哪些要素_javascript有哪几种对象?

JavaScript中支持3种对象&#xff1a;内置对象(原生对象)&#xff0c;浏览器对象&#xff0c;自定义对象。下面本篇文章就来给大家介绍一下&#xff0c;希望对大家有所帮助。对象包含两个要素&#xff1a;1、用来描述对象特性的一组数据&#xff0c;也就是若干变量&#xff0c;…

用C语言实现优先级排序和MATLABsort函数的比较

为了实现对两个数组进行优先级排序,用c语言有两种实现方法, 一是需要对两个数组进行排序,然后对排序后的坐标再排序,(求最小值是我自己需要) 二是直接寻找数组排序后的元素坐标,调用qsort函数进行排序,排序后的数组会存放在原数组中,那么就有两种寻找坐标,一是寻找…

造成内存泄漏_如何造成内存泄漏

造成内存泄漏这将是一个相当邪恶的职位-当您确实希望使某人的生活陷入困境时&#xff0c;您将在谷歌上搜索。 在Java开发领域&#xff0c;内存泄漏只是您在这种情况下会引入的错误类型。 为您的受害者保证几天甚至几周的办公室不眠之夜。 我们将在这篇文章中描述两次泄漏。 两…

寄存器分配图着色_寄存器分配

寄存器分配&#xff0c;是通过将程序变量尽可能地分配到寄存器&#xff0c;从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%)&#xff1b;也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存…