我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Gradle构建基本的Web项目结构

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Gradle构建基本的Web项目结构

一、环境要求

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

二、创建应用结构

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

webdemo项目建立如下目录结构

webdemo/
    class="lazy" data-src/
        main/
            java/
            webapp/
        test
            java/

servlet或其他Java类都将放在class="lazy" data-src / main / java中,测试代码写在class="lazy" data-src / test / java,其他Web资源将放在class="lazy" data-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,下面就会使用这种方式。在class="lazy" data-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页面

首先在class="lazy" data-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>

然后在class="lazy" data-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项目的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Gradle构建基本的Web项目结构

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Gradle构建基本原理

Gradle是一个基于Groovy的构建工具,它的构建基本原理主要包括以下几个方面:1. 构建脚本:Gradle使用Groovy语言编写构建脚本,这些脚本定义了项目的构建过程、依赖关系和任务。构建脚本通常包含了项目的配置信息、插件和任务定义
2023-09-21

Android项目基本结构详解

一、简介 第3章虽然通过百度地图应用展示了你可能感兴趣的内容,但是,如果你是一个初学者,一开始就看懂和理解代码可能会非常费劲。为了解决此问题,从这一章开始,本模块将从最基本的内容讲起,带你逐步进入用C#进行Android应用开发的乐园。 二
2022-06-06

java项目构建Gradle怎么用

这篇文章给大家分享的是有关java项目构建Gradle怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、相关介绍Gradle是一个好用的构建工具 ,使用它的原因是:配置相关依赖代码量少,不会像maven一样
2023-06-29

idea如何构建web项目

本篇内容介绍了“idea如何构建web项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、idea构建web项目idea构建web项目的超
2023-07-05

cocos构建 Android 项目Android studio gradle 8.0 报错

记录一下踩坑 今天用cocos构建 了一个Android 项目 然后用Android studio 打开 TestProject_Helloworld\build\android\proj 项目, 由于我的Android studio 用的
2023-08-16

web前端:html网页基本结构

编程学习网:从08年开始,国内网页游戏开始不断兴起,网页游戏(Webgame)又称web游戏,无端网游,简称页游。网页游戏也是需要重视水平的,如音效的筛选、恰到好处的乐曲与音效搭配、以及良好的结构平台等等,有了这些元素,才能做出一个好的网页游戏,同时也会引来更多的浏览人数。网页游戏的出现让中国进入了一个新的网络游戏平台,也进入了一个页游发展的竞争时代。
web前端:html网页基本结构
2024-04-23

【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

文章目录 一、settings.gradle 构建脚本分析1、Maven 远程仓库配置2、目录配置3、完整代码示例 二、根目录下 build.gradle 构建脚本分析 一、settings.gradle 构建脚本分
2023-08-16

Android中使用Gradle来构建App项目的入门指南

gradle是Android开发中引入的全新的构建系统,因为全新的构建系统主要是出于下面的目的: 1. 方便复用代码和资源 2. 构建多种版本的apk更见简单,不论是为多渠道构建不同的apk还是构建不同环境的apk(debug,releas
2022-06-06

FastApi怎么快速构建一个web项目

这篇文章主要介绍“FastApi怎么快速构建一个web项目”,在日常操作中,相信很多人在FastApi怎么快速构建一个web项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”FastApi怎么快速构建一个we
2023-07-05

如何以新的方式构建 Golang 模块和项目结构

哈喽!今天心血来潮给大家带来了《如何以新的方式构建 Golang 模块和项目结构》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!问题内
如何以新的方式构建 Golang 模块和项目结构
2024-04-05

Python项目通用的目录结构总结

一个好的项目结构会让我们在开发中更加得心应手。对于Web项目,我们通常采用Flask或Django等框架,会有一套适合这种项目的工程目录。对于爬虫项目,通常有Scrapy等开源框架,也会提供一套适合这种项目的工程目录。对于通用的一些Pyth
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录