如何使用Servlet写一个简单的网站-1

简介: 如何使用Servlet写一个简单的网站-1

9620b35a0261432b9fc6b7225bfea473.gif

前言

前面我们学习了Java中常用的 HTTP 服务器 tomcat 的安装和使用,那么今天我们将使用这个 HTTP 服务器为大家写一个简单的网站,这个网站虽然简单,就是一句简单的话,没有很复杂的逻辑,但是要想把这句话体现在网站上也不是很简单的事情。

1. 创建项目

这里我们创建的项目跟平时使用 idea 的时候有些许的不同,在这里我们要创建的是 maven 项目。

什么是 maven 呢?

Maven是一个项目构建和管理工具,它使用项目对象模型(POM)来描述项目,包括项目的结构、依赖关系、构建配置等信息。Maven提供了一组标准集合,包括构建、文档、报告、依赖管理等,可以方便地编译代码、进行依赖管理、管理二进制库等。Maven还提供了一个项目生命周期(Project Lifecycle),定义了项目的构建、测试、发布等阶段,每个阶段都有相应的插件(plugin)可以运行。

Maven的依赖管理系统可以自动下载所需的jar包,并且能够防止版本冲突。它还提供了一个仓库管理器,可以为企业组织提供可部署组织内部生成的构件的地方。此外,Maven可以与主流的IDE集成,如Eclipse、IDEA等,可以很方便地实现自动化构建和部署。

使用Maven可以将项目的版本控制在同一个地方,避免版本混乱。它还可以生成文档,并可以方便地管理文档。此外,Maven还可以方便地管理测试用例和测试报告,并与持续集成工具配合使用,实现自动化构建和部署。

Maven是一个强大的项目构建和管理工具,可以提高开发效率,简化项目管理过程,并使得项目更加可维护、可重用。

maven 优势:

项目理解:Maven能够方便地解析项目的结构,它使用标准的项目布局,可以很容易地理解项目的目录结构,对于已有的项目,Maven能够自动地抽取项目信息,这样用户不再需要花费大量的时间去理解项目的结构。

依赖管理:Maven能够管理项目的依赖,可以自动下载所需的jar包,并且能够防止版本冲突。

项目管理:Maven基于项目对象模型,可以通过一小段描述信息来管理项目的构建、报告和文档,能够很方便地管理项目报告,生成站点,管理jar文件等。

统一的构建环境:使用Maven管理的Java项目有着相同的项目结构,所有的java代码都放在src/main/java,所有的测试代码都放在src/test/java。

插件机制:Maven的plugin比较多,可以有更多功能,现有体系比较开放,采用的技术相对比较通用和成熟,plugin的机制也可以便于我们扩展更多功能。

仓库管理器:Maven的仓库管理器能够为组织提供可部署组织内部生成的构件的地方。

与IDE集成:Maven可以很方便地与Eclipse、IDEA这样的主流的IDE集成。

版本控制:使用Maven可以将项目的版本控制在同一个地方,避免版本混乱。

持续集成:Maven可以与持续集成工具配合使用,实现自动化构建和部署。

文档管理:Maven可以生成文档,并可以方便地管理文档。

测试管理:Maven可以方便地管理测试用例和测试报告。

发布管理:Maven可以方便地发布项目到仓库或者私有仓库。

权限管理:Maven可以与权限管理工具配合使用,实现权限控制。

日志管理:Maven可以方便地记录日志,并可以方便地查看日志。

配置管理:Maven可以方便地管理配置文件。

简单来说就是咱们写网站,文件和文件之间的依赖关系可能会很复杂,所以为了解决文件和文件之间复杂的依赖关系,我们就选择使用 maven 来为我们维护好文件之间复杂的依赖关系。

可以放心的是因为 idea 知道 maven 的这些优势,所以我们在下载 idea 的时候就自动集成了 maven,我们在创建项目的时候选择 maven 就可以了。

创建之后会形成下面这样的目录形式,并且当你第一次创建 maven 项目的时候,需要保证有一个好的网络,因为他会自动下载相关的依赖组件。

2. 引入依赖

因为 servlet 是第三方库,所以要想使用 servlet 就需要手动安装引入,这里我们可以手动下载,也可以选择让 maven 帮我们下载,我们只需要将 servlet 所在的 jar 包在哪就可以了。在 maven 中央仓库中也是有这个 servlet。

进入 maven 中央仓库,https://mvnrepository.com/

在上面导航栏中搜索 servlet。

tomcat 和 servlet 的对应版本关系。

在找到对应的 tomcat 和 servlet 的对应关系之后,我们就将下面的这个 servlet 坐标给复制到 idea 中。

这里在 pom.xml 文件下创建一个 标签 然后将我们刚复制的坐标粘贴到这个标签中。

3. 创建目录

这里为什么还需要创建目录呢?前面我们创建 maven 项目的时候,不是自动帮我们创建目录了吗?其实前面创建的目录只是 maven 需要的目录,而 maven 项目不仅仅只是适用于 tomcat ,还适用于其他的项目,而其他有些项目在 maven 目录的基础上还需要额外的创建一些额外的目录,这里的 tomcat 就是,在 maven 目录的基础上,tomcat 对目录结构这件事上还做了其他的要求。

在 main 中创建一个 webapp 目录。

在 webapp package 下创建 WEB-INF 目录。

然后在 WEB-INF 目录下创建一个 web.xml 文件。

然后在 web.xml 文件中写入以下内容。

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
</web-app>

当构建完成目录结构之后,整体是这样的。

4. 编写代码

当完成前面的准备工作了之后,就可以编写我们的业务代码了,我们在 java 文件下创建 .class 文件。

在这个文件中继承 HttpServlet 父类,并且重写 doGet 方法。这个不是都是重写 doGet 方法,而是你的请求是 GET 请求就重写 doGet 方法,如果是 POST 请求,就重写 doPost 请求。

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello java");
        resp.getWriter().write("hello java");
    }
}

这里 System.out.println("hello java"); 是将结果打印在 tomcat 的控制台中,而 resp.getWriter().write("hello java"); 则是将结果显示在网页中。

当写完这些代码之后,还要注意在类的开头加上注解 @WebServlet("/hello") 这个参数必须以 / 开头,表示 HTTP 的路由配置路径,也就是我们 HTTP 请求中 URL 部分。

如何使用Servlet写一个简单的网站-2:https://developer.aliyun.com/article/1430654

相关文章
|
3月前
|
存储 前端开发 JavaScript
Servlet实现一个简单的表白墙网站
前言 前面我们学习了 Java 中知名的 HTTP 服务器 tomcat 的安装和使用,还学习了 servlet 相关 API 的学习,今天,这篇文章我们将运用前面学习的 HTTP 知识、tomcat和servlet来实现一个简单的表白墙网站。
Servlet实现一个简单的表白墙网站
|
6月前
|
前端开发 应用服务中间件 C++
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(二)
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(二)
|
6月前
|
JSON 前端开发 JavaScript
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。(一)
使用Servlet实现表白墙网站(前后端互联)小项目,Mac的M1(没有setting)在哪里找到Setting页面,下载smart tomcat及smart tomcat的配置。
|
3月前
|
Java 应用服务中间件
如何使用Servlet写一个简单的网站-2
如何使用Servlet写一个简单的网站-2
|
Java
servlet中创建网站的过程
servlet中创建网站的过程
88 0
servlet中创建网站的过程
|
前端开发 安全 JavaScript
使用Servlet+AJAX+AWT实现网站登录时的图片验证码功能
使用Servlet+AJAX+AWT实现网站登录时的图片验证码功能
153 0
使用Servlet+AJAX+AWT实现网站登录时的图片验证码功能
|
Java
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量(2)
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量
124 0
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量(2)
|
Java 应用服务中间件
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量(1)
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量
168 0