2023-06-10
41
依赖管理基础本章节介绍如何使用 Gradle 进行基本的依赖管理.什么是依赖管理?通俗来讲,依赖管理由如下两部分组成。首先,Gradle 需要知道项目构建或运行所需要的一些文件,以便于找到这些需要的文件。我们称这些输入的文件为项目的依赖。其次,你可能需要构建完成后自动上传到某个地方。我们称这些输出为发布。下面来仔细介绍一下这两部分:大部分工程都不太可能完全自给自足,一般你都会用到其他工程的文件。比如我工程需要 Hibernate 就得把它的类库加进来,比如测试的时候可能需要某些额外 jar 包,例如 JD
2023-06-10
35
Gradle 插件
Gradle 在它的核心中有意地提供了一些小但有用的功能,用于在真实世界中的自动化。所有有用的功能,例如以能够编译 Java 代码为例,都是通过插件进行添加的。插件添加了新任务 (例如JavaCompile),域对象 (例如SourceSet),约定(例如主要的 Java 源代码是位于 src/main/java),以及扩展的核心对象和其他插件的对象。
在这一章中,我们将讨论如何使用插件以及术语和插件相关的概念。
应用插件
插件都认为是被应用,通过 Project.apply() 方法
2023-06-10
46
Servlet容器主要是JavaWeb应用提供运行时环境,所以也可以称之为JavaWeb应用容器,或者Servlet/JSP容器。Servlet容器主要负责管理Servlet、JSP的生命周期以及它们的共享数据。Servlet容器有哪些:目前最流行的Servlet容器软件包括: Tomcat、Jetty、Jboss等。
Tomcat
Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomc
2023-06-10
25
Servlet 文件上传 Servlet 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 创建一个文件上传表单 下面的 HTML 代码创建了一个文件上传表单。以下几点需要注意: 表单 method 属性应该设置为 POST 方法,不能使用 GET 方法。 表单 enctype 属性应该设置为 multipart/form-data. 表单 action 属性应该设置为在后端服务器上处理文件上传的 Servlet 文件。下面的实例使
2023-06-10
46
Gradle 命令行的基本使用
本章介绍了命令行的基本使用。正如在前面的章节里你所见到的调用 gradle 命令来完成一些功能。
多任务调用
你可以以列表的形式在命令行中一次调用多个任务。例如 gradle compile test 命令会依次调用,并且每个任务仅会被调用一次。compile 和 test 任务以及它们的依赖任务。无论它们是否被包含在脚本中:即无论是以命令行的形式定义的任务还是依赖于其它任务都会被调用执行。来看下面的例子。
下面定义了四个任务。dist 和 test 都依赖于 compil
2023-06-10
35
Web 工程构建
本章介绍了 Gradle 对 Web 工程的相关支持。Gradle 为 Web 开发提供了两个主要插件,War plugin 和 Jetty plugin。 其中 War plugin 继承自 Java plugin,可以用来打 war 包。jetty plugin 继承自 War plugin 作为工程部署的容器。
打 War 包
需要打包 War 文件,需要在脚本中使用 War plugin:
War plugin
build.gradle
apply plugin: wa
2023-06-10
34
Servlet 国际化 在我们开始之前,先来看看三个重要术语: 国际化(i18n):这意味着一个网站提供了不同版本的翻译成访问者的语言或国籍的内容。 本地化(l10n):这意味着向网站添加资源,以使其适应特定的地理或文化区域,例如网站翻译成印地文(Hindi)。 区域设置(locale):这是一个特殊的文化或地理区域。它通常指语言符号后跟一个下划线和一个国家符号。例如 "en_US" 表示针对 US 的英语区域设置。 当建立一个全球性的网站时有一些注意事项。本教程不会讲解这些注意
2023-06-10
35
Servlet 自动刷新页面 假设有一个网页,它是显示现场比赛成绩或股票市场状况或货币兑换率。对于所有这些类型的页面,您需要定期刷新网页。 Java Servlet 提供了一个机制,使得网页会在给定的时间间隔自动刷新。 刷新网页的最简单的方式是使用响应对象的方法 setIntHeader()。以下是这种方法的定义: public void setIntHeader(String header, int headerValue)此方法把头信息 "Refresh" 连同一个表示时间间隔的