Gradle构建基本的Web项目结构

目录
  • 一、环境要求
  • 二、创建应用结构
  • 三、添加Gradle脚本
  • 四、编写Servlet
  • 五、添加请求页面和JSP页面
  • 六、添加gretty插件,以便于直接运行程序
  • 补充、切换Servlet容器及更多配置

一、环境要求

  • 一个好用的IDE编辑工具
  • Java环境(>=8)
  • Gradle构建工具(>=4.10.3)

二、创建应用结构

gradle使用war插件来进行java web项目构建,war插件继承了Java 插件并添加了对web应用程序的支持。默认情况下,使用src/main/webapp目录作为web的资源目录。

webdemo项目建立如下目录结构

webdemo/
    src/
        main/
            java/
            webapp/
        test
            java/

servlet或其他Java类都将放在src / main / java中,测试代码写在src / test / java,其他Web资源将放在src / main / webapp

三、添加Gradle脚本

在项目根目录下创建一个build.gradle文件,内容如下:

plugins {
    id 'war'  // ①
}
repositories {
    jcenter()
}
dependencies {
    providedCompile 'javax.servlet:javax.servlet-api:3.1.0' // ②
    testCompile 'junit:junit:4.12'
}

① 添加并使用war插件

② 引入servlet依赖包,版本为3.1.0或更高

war插件添加了providerCompile和providerRuntime,类似于常规Java应用程序中的compile和runtime。providerCompile表示本地运行时所需的依赖关系,但打包时不会将其添加到生成的webdemo.war文件中。

再添加war插件时,无需指定版本,war和jar两个插件的版本,gradle已经内置进行管理了。

四、编写Servlet

从3.0版本开始,可以使用注解来开发Servlet,下面就会使用这种方式。在src/main/java下创建包org/gradle/demo,添加servlet文件HelloServlet.java,内容如下:

package org.gradle.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "HelloServlet", urlPatterns = {"/hello"}, loadStartup = 1) // ①
public class HelloServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.getWriter().print("Hello, World!");  // ②
  }
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String name = request.getParameter("name");
    if (name == null) name = "World";
    request.setAttribute("user", name);
    request.getRequestDispatcher("response.jsp").forward(request, response); // ③
  }
}

① 基于注解的Servlet写法

② GET请求,返回基本字符串

③ POST请求,获取name参数并跳转到JSP页面

五、添加请求页面和JSP页面

首先在src/main/webapp下添加一个index.html文件,方便发送GETPOST请求。

index.html内容如下

<html>
<head>
  <title>Web Demo</title>
</head>
<body>
<p>Say <a href="hello">Hello</a></p> 

<form method="post" action="hello">
  <h2>Name:</h2>
  <input type="text" id="say-hello-text-input" name="name" />
  <input type="submit" id="say-hello-button" value="Say Hello" />
</form>
</body>
</html>

然后在src/main/webapp下添加一个response.jsp文件,也就是当接收到post请求时跳转的页面。response.jsp内容如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Hello Page</title>
    </head>
    <body>
        <h2>Hello, ${user}!</h2>
    </body>
</html>

六、添加gretty插件,以便于直接运行程序

gretty插件是社区支持的杰出插件,可以在Gradle插件存储库中找到。该插件支持在Jetty或Tomcat上运行或测试Web应用程序。

build.gradle脚本的plugins中添加如下

plugins {    id 'war'    id 'org.gretty' version '2.2.0' }

现在可以使用appRun任务运行我们的程序了,默认是使用Jetty容器。运行输出如下

$ gradle appRun
00:32:30 INFO  Jetty 9.2.24.v20180105 started and listening on port 8080
00:32:30 INFO  webdemo runs at:
00:32:30 INFO    http://localhost:8080/webdemo

> Task :appRun
Press any key to stop the server.
<===========--> 87% EXECUTING [10s]
> :appRun

出现http://localhost:8080/webdemo说明已经运行成功了, 访问这个地址出现index.html所呈现的页面,点击一下试试吧。

补充、切换Servlet容器及更多配置

gretty目前支持的容器如下

Jetty

‘jetty7’, ‘jetty8’, ‘jetty9’, ‘jetty93’, ‘jetty94’

Tomcat

‘tomcat7’, ‘tomcat8’

只需要在build.gradle文件中添加如下block即可

gretty {
  httpPort = 8083 // 端口
  contextPath = '/demo'  // 容器路径
  servletContainer = 'tomcat8' // 容器类型
}

以上就是Gradle创建基本的Web项目的详细内容,更多关于Gradle创建基本的Web项目的资料请关注我们其它相关文章!

(0)

相关推荐

  • 详解IDEA下Gradle多模块(项目)的构建

    我们在新起一个项目的时候,一般都会建多个子项目(IDEA里面称之为Module模块).通过Gradle构建,多个Module之间需要将公用的配置抽取到全局,子项目中只写差异化的配置,以便于维护. 多模块项目的Gradle目录结构 示例:我的示例项目demo,我需要有一个common模块用于公用代码,一个rest模块用于提供rest接口,rest依赖common,如果用gradle构建,目录树会是这样: demo ├── build.gradle -- 全局配置 ├── settings.grad

  • Gradle快速安装及入门

    1.什么是Gradle Gradle是一种结合了Ant和Maven两者优势的下一代构建工具,既有Ant构建灵活性的优点,也保留Maven约定优于配置的思想,在灵活构建和约定构建之间达到了很好的平衡. 2.安装Gradle (1)Gradle属于解压配置即可使用的软件 下载解压gradle-4.1-all.zip,例如解压到:D:/ gradle-4.1 (2)window中设置gradle环境变量: GRADLE_HOME    D:/ gradle-4.1 path              

  • Gradle构建多模块项目的方法步骤

    通常我在使用Maven构建项目的时候是将应用项目划分为多个更小的模块. Gradle 项目也拥有多于一个组件,我们也将其称之为多项目构建(multi-project build). 我们首先创建一个多项目构建: mkdir cmdGradleProj && cd cmdGradleProj gradle init 这时候 D:\cmdGradleProj> 目录下执行:tree /f 的项目结构如下: │ build.gradle │ gradlew │ gradlew.bat │

  • 在IDEA里gradle配置和使用的方法步骤

    前言 有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依赖和项目生命周期挺方便的,我使用gradle只是因为公司用,不然我估计不会学习gradle.下面是gradle的优点,自己斟酌吧. 1. 按约定声明构建和建设: 2. 强大的支持多工程的构建: 3. 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程: 4. 全力支持已有的 Maven 或者Ivy仓库基础建设: 5. 支持传递性依赖管理,

  • Gradle构建基本的Web项目结构

    目录 一.环境要求 二.创建应用结构 三.添加Gradle脚本 四.编写Servlet 五.添加请求页面和JSP页面 六.添加gretty插件,以便于直接运行程序 补充.切换Servlet容器及更多配置 一.环境要求 一个好用的IDE编辑工具 Java环境(>=8) Gradle构建工具(>=4.10.3) 二.创建应用结构 gradle使用war插件来进行java web项目构建,war插件继承了Java 插件并添加了对web应用程序的支持.默认情况下,使用src/main/webapp目录

  • Eclipse新建web项目流程图解

    Eclipse新建动态页面 作为web小学生,写一下很多人问的基本基本基本问题 新建web项目 出现一下界面: 明明完成后一直点击next,但不要点击finish 知道出现这个界面(最后一个界面) 打上勾(用来自动生成web.xml,如果没有生成,那自己写一个就行) 然后finish,下面是一般的web项目结构 然后你要新建一个jsp或html页面(具体情况具体分析),然后写html代码,用到css在新建.css文件用来弄样式,用到js了在新建js文件,都在WebContent下面. 以上就是本

  • springboot+gradle 构建多模块项目的步骤

    springboot用以进行web项目开发的便捷性,本文不再赘述,主要是想将工作中基于springboot与gradle的多模块项目的构建经验进行总结与归纳. 1.创建项目 首先安装java和gradle,本文选用的java版本为1.8.0_40,gradle版本为2.10,安装过程本文不再赘述. 其次创建项目,名称为 springboot-mm: mkdir springboot-mm cd springboot-mm gradle init 此时的项目结构如下: 接下来,创建多个模块,这里以

  • IDEA使用Gradle构建SpringBoot项目工程的详细教程

    背景 最近在研究搭建spring源码调试环境时,接触到到gradle项目构建工具.由于之前习惯于maven项目的构建,故通过此文记录相关gradle的项目构建知识. Gradle Gradle是一个构建工具,用于管理项目依赖和构建项目工程.Gradle抛弃了Maven的基于XML的繁琐配置,采用特定语言Groovy的配置,大大简化了构建代码的行数. 项目结构 Plugin Sample pluginManagement { repositories { gradlePluginPortal()

  • idea构建web项目的超级详细教程

    目录 1.idea构建web项目 1.新建一个空项目 2.新建java模块,名为webDemo1 3.选择webDemo1右键,选择Add Framework Support 4.在WEB-INF下新建文件夹classes和lib 5.打开项目结构(Project Structure) 6.项目配置 7.模块配置 8.Facets配置,这里制定了web目录不是一个普通的文件夹,而是web项目 9. 配置Artifacts 10. 添加Tomcat 11.配置Deployment. 12.添加项目

  • 使用IDEA和Gradle构建Vertx项目(图文步骤)

    最近是真的忙,好久没写了,再来分享一点新东西!!! 一. 新建Gradle项目 ① ②选择Gradle(如果没有安装gradle,自己下载一个) ③ ④选择gradle 下一步,然后输入项目名称和磁盘路径,点击Finish. 二.配置vertx依赖 项目打开之后,在build.gradle文件中dependencies里面加入vertx的核心依赖 compile 'io.vertx:vertx-core:3.4.2' 在build.gradle最下面加入任务 task copyJars(type

  • 新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)

    之前都没试过用maven来管理过项目,但是手动找包导包确实不方便,于是今天用2016版的IDEA进行了maven的初尝试. 打开IDEA,创建新项目: 然后选择Maven,以及选择自己电脑的jdk: 接下来自定义GroupId以及ArtifactId,这里只是demo,所以随便命名了 然后自定义项目名,Finish: maven创建完毕 maven中,第一次创建会在src下生成main/java以及main/resources目录,src中的test目录是要自己创建的,test目录的中代码不会被

  • 带你使用webpack快速构建web项目的方法

    使用webpack构建web项目以及热部署插件的使用,按以下步骤,能帮助你快速构建和理解~ 详细学习还得靠官方文档! 一,基础构建部分 大前提!你得先安装了Node.js此处不赘述. 1,创建一个文件夹 2,在当前文件夹子下打开命令行工具 3,项目初始化(创建package.json文件) npm init -y 4,安装依赖 版本搭配如下: "devDependencies": { "webpack": "^4.17.1", "web

  • 使用SpringBoot中web项目推荐目录结构的问题

    目录 下面是我创建的目录结构 项目结构 静态资源的目录结构 完整项目结构 SpingBoot 365计划开始更新了,计划手敲365个dSpringBoot案例回顾总结形成知识体系.目前已经输出了32节的内容.所有源码托管在GitHub和Gitee上. 下面是我创建的目录结构 . ├── ./pom.xml └── ./src ├── ./src/main │ ├── ./src/main/java │ │ └── ./src/main/java/com │ │ └── ./src/main/ja

随机推荐