第五章:支持 Servlet 配置和 URL 映射-MiniTomcat

daicy
发布于 2024-11-19 / 13 阅读
0
0

第五章:支持 Servlet 配置和 URL 映射-MiniTomcat

本步骤将实现基于 web.xml 配置文件的 Servlet 路由映射和初始化参数支持,使得 MiniTomcat 能根据配置自动调用相应的 Servlet 处理请求。

5.1 功能目标

  • 配置文件管理路由和初始化参数:通过 web.xml 文件管理 Servlet 映射和初始化参数。

  • URL 路径映射:根据配置文件中的路径映射,将请求 URL 映射到对应的 Servlet。

  • 支持 ServletConfigImpl 获取初始化参数:提供 ServletConfigImpl 类,支持从配置中读取初始化参数。

5.2 代码结构

以下是更新后的 MiniTomcat 代码结构,新增了 ServletConfigImplServletContextImplServletLoaderWebXmlServletContainer等类和 web.xml 配置文件。

MiniTomcat
├─ src
│ ├─ main
│ │ ├─ java
│ │ │ ├─ com.daicy.minitomcat
│ │ │ │ ├─ servlet
│ │ │ │ │ ├─ CustomServletOutputStream.java // 自定义的 Servlet 输出流类
│ │ │ │ │ ├─ HttpServletRequestImpl.java // HTTP 请求的实现类
│ │ │ │ │ ├─ HttpServletResponseImpl.java // HTTP 响应的实现类
│ │ │ │ │ ├─ ServletConfigImpl.java // Servlet 配置的实现类
│ │ │ │ │ ├─ ServletContextImpl.java // Servlet 上下文的实现类
│ │ │ │ ├─ HelloServlet.java // Servlet 示例类
│ │ │ │ ├─ HttpConnector.java // 连接器类
│ │ │ │ ├─ HttpProcessor.java // 请求处理器
│ │ │ │ ├─ HttpServer.java // 主服务器类
│ │ │ │ ├─ ServletLoader.java // Servlet 加载器
│ │ │ │ ├─ ServletProcessor.java // Servlet 处理器
│ │ │ │ ├─ StaticResourceProcessor.java// 静态资源处理器
│ │ │ │ ├─ WebXmlServletContainer.java // Servlet 容器相关类
│ │ ├─ resources
│ │ │ ├─ webroot
│ │ │ │ ├─ index.html
│ │ │ ├─ web.xml
│ ├─ test
├─ pom.xml

5.3 代码实现

5.3.1 创建 ServletConfigImpl

ServletConfigImpl 用于存储 web.xml 中的初始化参数,提供 getInitParameter() 方法获取这些参数。


评论