利用Servlet编写第一个“hello world“

🔎创建 Maven 项目


Maven 是一个构建工具
功能是帮助我们去构建, 测试, 打包一个项目

  • Java 中的构建工具包括
    • Ant(一款较老的构建工具)
    • Maven(当前比较主流的构建工具)
    • Gradle(一款较新的构建工具, 当前主要是 Android 生态使用)

首次创建 Maven 项目, Idea 会从互联网加载很多的依赖(需要花费一定的时间)

在这里插入图片描述

创建 Maven 项目后, 会有一个 pom.xml 配置文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

🔎引入依赖


Servlet 是 Tomcat 提供的 API(不是标准库提供)
表示需要额外下载 Servlet

登录 Maven 中央仓库
Maven 中央仓库

在搜索框中输入 servlet

在这里插入图片描述

确认后弹出如下界面

在这里插入图片描述

选择第一个 Java Servlet API

在这里插入图片描述

选择版本号为 3.1.0
Servlet 3.1.0 版本对应的 Tomcat 版本为 8.5

在这里插入图片描述
复制代码到 pom.xml 配置文件中

在这里插入图片描述

在 pom.xml 配置文件中手动输入 <dependencies></dependencies>

在这里插入图片描述

此处的 jar 包, 默认被下载在本地的隐藏目录中

在这里插入图片描述

🔎创建目录


创建 webapp

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建 WEB-INF

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建 web.xml

web.xml 应用于 Tomcat
pom.xml 应用于 Maven

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
复制如下代码到 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>

这里可能出现报红
但不会影响到程序

在这里插入图片描述

🔎编写代码


创建一个类

在这里插入图片描述
继承 HttpServlet
HttpServlet 来自 Servlet 的 jar 包(引入的依赖)

在这里插入图片描述

重写 doGet() 方法

  • HttpServletRequest, Http 请求
  • HttpServletResponse, Http 响应
  • doGet, 根据请求计算响应

一个服务器程序, 其基本工作流程大致如下

  • 读取请求并解析
  • 根据请求计算响应
  • 将响应返回到客户端

在这里插入图片描述

此处需要将 super.doGet(req, resp); 注释掉

因为 doGet() 方法会返回 405 页面

405 Method Not Allowed 表示方法不被允许

在这里插入图片描述
在这里插入图片描述

打印 hello world

  • 在服务器打印 hello world, System.out.println("hello world");
  • 在客户端打印 hello world, resp.getWriter().write("hello world");

在这里插入图片描述

为 HelloServlet 添加注解

在这里插入图片描述

代码编写完毕
此处并不需要编写 main 方法
这是因为上述代码并非独立运行, 而是插入到 Tomcat 中, 由 Tomcat 调用

🔎打包代码


由于程序不能独立运行(需部署到 Tomcat 运行)
因此需要将代码进行打包操作

类似于搬家, 需要先收拾物品(打包)
然后再将其搬运到新的地方(部署)

  • 在 Java 中, 使用的压缩包
    • jar(普通的 Java 程序打成 jar 包)
    • war (部署到 Tomcat 的程序打成 war 包)

点击右侧 Maven, 弹出如下界面

在这里插入图片描述

  1. 点击 Servlet_s
  2. 点击 Lifecycle
  3. 找到 package, 双击进行打包
  • 双击 package 后, 执行如下操作
    • 检查代码中是否存在一些依赖, 依赖是否下载好
    • 将代码进行编译, 生成一堆 .class 文件
    • 将 .class 文件, web.xml 按照一定格式进行打包

在这里插入图片描述

弹出如下界面表示打包成功

在这里插入图片描述

此时左侧界面会生成 target 目录

在这里插入图片描述

仔细查看发现此时的压缩包格式是 jar 包

将压缩包格式调整为 war 包
需要调整 pom.xml 描述生成的包的包格式

<packaging>war</packaging>复制到 pom.xml 即可

在这里插入图片描述

此处也可以修改打出的包的名称
将打出的包的名称修改为 hello_servlet
在这里插入图片描述

打出的 war 包, 且名称为 hello_servlet

在这里插入图片描述

🔎部署


部署
将打好的 war 包, 拷贝到 Tomcat 的 webapps 目录中

在这里插入图片描述
在这里插入图片描述

启动 Tomcat 后, 自动将 war 包进行了解压缩

在这里插入图片描述

🔎程序验证


浏览器效果

在这里插入图片描述

Tomcat 效果(服务器)

在这里插入图片描述

  • hello_servlet, 称为 Context Path / Application Path
    标识了一个 webapp(就是这个 webapp 的目录名 / war 包名)
    在这里插入图片描述
  • hello, 称为 Servlet Path
    • 标识当前请求调用哪个 Servlet 类的 doGet()
    • 一个 webapp, 可以有多个 Servlet
      在这里插入图片描述

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值