【Servlet】实例测试+Servlet接口源码分析+原理图

本文详述了Servlet的环境搭建过程,包括Tomcat和Maven的安装,以及如何在Maven工程中配置Servlet依赖。通过编写HelloServlet类并配置web.xml,展示了Servlet的基本使用。同时,深入分析了Servlet的执行流程,揭示了service方法在请求处理中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为本文的环境准备、具体步骤以及实例都是围绕最后Servlet原理的阐述这一目的来进行的,因此,把Servlet原理图的位置放在此处,也未尝不可,如下图:
在这里插入图片描述

一、环境准备

1.Tomcat的安装

之前文章的链接:【详细步骤】Tomcat安装+主要目录分析+样例学习+IDEA中配置
(注:在IDEA中配置Tomcat服务器时,指定此引用路径)

作用:作为Web服务器,并在本地进行测试

2.Maven的安装

之前文章链接:【详细步骤】Maven的安装与配置+使用+镜像配置
(注:用IDEA自带的Maven配置起来不灵活,可事先自行下载并配置好镜像和仓库地址后,再在IDEA中指定此引用路径)

作用:进行项目管理,在Maven仓库中引用所需依赖(也可自动引入某些依赖的依赖)


二、具体步骤

1.创建Maven工程

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

2.添加Servlet相关依赖

新建的Maven工程中并无Servlet相关依赖,但当初Tomcat服务器中的examples文件夹中却有Servlet的相关例子,如图,其中右下角便有import javax.servlet.xxx
在这里插入图片描述
因此,在Tomcat根目录下存放jar包的目录,即lib目录中,一定有与此相关的jar包(此联想方式是受B站中一位大佬:狂神说Java的影响),如图,存在servlet-api.jar
在这里插入图片描述

因此去Maven仓库网中搜索servlet-api,选择较新的这个
在这里插入图片描述
再选择使用人数较多的这个
在这里插入图片描述
在这里插入图片描述
将其复制到自己Maven工程的pom.xml文件中并让Maven导入

3.编写HttpServlet的继承类

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!asdfsadf</h1>");
        out.println("</body>");
        out.println("</html>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }
}

4.配置web.xml

Maven工程根据webapp原型模板自动生成了一个web.xml的模板,但这不是最标准的,最标准的模板是,Tomcat目录下的样例中的web.xml配置文件,最后是将Tomcat配置到此工程中,因此,Tomcat的原生配置模板优于Maven自动生成的配置模板。
在这里插入图片描述
最终根据实际项目需要,写入Servlet映射:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">
  
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.zlc.servlet.HelloServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/h</url-pattern>
  </servlet-mapping>
</web-app>

5.配置Tomcat服务器

之前写过,不再赘述:【详细步骤】Tomcat安装+主要目录分析+样例学习+IDEA中配置

6.启动项目

在这里插入图片描述

三、Servlet原理(码分析+原理图)

我们自己的实现类
在这里插入图片描述
进入HttpServlet类
在这里插入图片描述
进入HttpServlet类的父类GenericServlet类
在这里插入图片描述
最终进入Servlet接口
在这里插入图片描述
在这里插入图片描述
Servlet并未实现service方法,再回溯至上一个类,即HttpServlet类的父类GenericServlet类,发现其也未实现service方法
在这里插入图片描述
再回溯至上一个类,即HttpServlet类,发现它实现了service方法
在这里插入图片描述

由源码可以看出,service就是一个综合的服务入口,来检查请求类型,并调用正确的请求方法,因此,结合之前的流程,可以总结出下图:
在这里插入图片描述

### 设置 Eclipse IDE 的 JavaFX 开发环境 为了在 Eclipse配置 JavaFX 进行开发,需遵循特定步骤以确保环境正确设置。 #### 添加 JavaFX 支持到 Eclipse 由于标准 JDK 自带的 JavaFX 已经被移除 (自JDK 11起),因此对于更高版本的 JDK 需要单独引入 JavaFX SDK。如果使用的是 JDK 8,则可以直接利用其内置的 JavaFX 功能[^1]。 针对较新版本的 JDK,在 Eclipse 中集成 JavaFX 插件的方法如下: 通过 `Help -> Install New Software...` 菜单项启动插件安装向导。点击 `Add...` 按钮并输入合适的名称与 URL 地址来获取 e(fx)clipse 工具集,这一步骤能够使 Eclipse 提供必要的 JavaFX 创建选项支持功能[^2][^3]。 完成上述操作之后,重启 Eclipse 应用程序以便应用更改。此时应该可以在新建项目的对话框中看到有关 JavaFX 的模板其他资源。 另外,当采用非捆绑有 JavaFX 的 JDK 版本时,还需手动下载对应的 JavaFX SDK 并将其库路径加入至项目构建路径内。具体做法是在 Project Properties 下找到 Libraries 页面,添加外部 JAR 文件或模块化依赖关系指向本地安装好的 JavaFX SDK 目录下的 lib 子文件夹中的 jar 包。 ```xml <!-- Maven pom.xml configuration --> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.1</version> <!-- Ensure this matches your installed version --> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>17.0.1</version> <!-- Ensure this matches your installed version --> </dependency> ``` 以上 XML 展示了如何在基于 Maven 构建系统的项目中声明对 JavaFX 控制器 FXML 解析的支持;当然也可以根据实际情况调整版本号以及增加其他所需的组件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超周到的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值