# ServletExamples **Repository Path**: sky0535/ServletExamples ## Basic Information - **Project Name**: ServletExamples - **Description**: Servlet学习教程,包含了从基础到高级的Servlet技术示例,每个模块专注于特定的Servlet功能 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: javaWEB, Servlet, jsp ## README # Servlet 系列学习教程 本项目是一个Servlet学习教程,包含了从基础到高级的Servlet技术示例,每个模块专注于特定的Servlet功能。 ## 开发步骤 ### 方法一:使用IDE创建(推荐) 1. **创建Maven父项目**: - 打开IDE(如IntelliJ IDEA、Eclipse) - 选择「新建项目」→「Maven」→「创建空项目」 - 填写项目信息(GroupId、ArtifactId等) - 完成创建后,删除自动生成的`src`目录 2. **添加父项目依赖**: - 编辑`pom.xml`文件,添加Servlet、JSP等依赖 - 设置打包方式为`pom`(作为父项目) 3. **创建子模块**: - 在父工程根目录上右键 →「新建」→「模块」 - 选择「Maven」模块,填写模块名称(如servlet01) - 完成子模块创建 4. **添加Web支持**: - 在子模块目录上右键 →「添加框架支持」 - 选中「Web Application」选项 - 点击「确定」,IDE会自动创建`web.xml`和相关目录结构 ### 方法二:使用Maven命令行 1. **创建父项目**: ```bash mvn archetype:generate -DgroupId=com.examples -DartifactId=ServletExamples -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false cd ServletExamples rm -rf src ``` 2. **修改父项目pom.xml**: - 设置打包方式为`pom` - 添加子模块声明 - 添加必要的依赖 3. **创建子模块**: ```bash mvn archetype:generate -DgroupId=com.examples -DartifactId=servlet01 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false ``` 4. **更新父项目pom.xml**: - 添加子模块到``部分 ## 项目结构 ``` ServletExamples/ ├── images/ # 图片资源 ├── servlet01/ # 入门示例 ├── servlet02/ # 全局配置和上下文对象 ├── servlet03/ # 单例模式 ├── servlet04/ # 请求和响应对象的操作 ├── servlet05/ # 请求参数处理 ├── servlet06/ # 转发和重定向 ├── servlet07/ # 过滤器 ├── servlet08/ # 错误和异常处理 ├── servlet09/ # 会话跟踪 ├── servlet10/ # JSP和JSTL ├── servlet11/ # 监听器 ├── servlet12/ # 自定义JSP标签 ├── README.md # 项目说明文档 └── pom.xml # 父项目配置 ``` ## 模块说明 | 子模块 | 描述 | 主要功能 | |-------|------|----------| | servlet01 | 入门 | Servlet创建方式、注解配置、基本请求处理 | | servlet02 | 全局配置和上下文对象 | 全局参数配置、ServletContext使用、上下文属性操作 | | servlet03 | 单例模式 | Servlet单例特性、多线程处理、线程安全 | | servlet04 | 请求和响应对象的操作 | HTTP请求头获取、响应数据输出、文件下载、图片响应 | | servlet05 | 请求参数 | GET和POST请求参数获取、中文乱码处理、参数验证 | | servlet06 | 转发和重定向 | 请求转发(Forward)、响应重定向(Redirect)、两者区别 | | servlet07 | 过滤器 | 过滤器生命周期、字符编码过滤、权限控制 | | servlet08 | 错误和异常处理 | 404错误处理、异常捕获与处理、错误页面配置 | | servlet09 | 会话跟踪 | Cookie使用、Session管理、会话超时配置 | | servlet10 | JSP和JSTL | JSP基本语法、EL表达式、JSTL标签库使用 | | servlet11 | 监听器 | HttpSessionListener、在线人数统计、事件监听 | | servlet12 | 自定义JSP标签 | 标签助手类创建、TLD文件配置、自定义标签使用 | ## 技术栈 - **Java**:JDK 11+ - **Servlet**:Jakarta Servlet 5.0 - **JSP**:Jakarta JSP 3.0 - **JSTL**:Jakarta JSTL 2.0 - **Maven**:项目管理和构建 - **Bootstrap**:前端样式框架 ## 使用方法 1. **克隆项目**: ```bash git clone <项目地址> ``` 2. **构建项目**: ```bash mvn clean package ``` 3. **部署应用**: - 将生成的war文件部署到Tomcat等Web服务器 - 或使用IDE的内置服务器运行 4. **访问应用**: - 启动服务器后,访问 `http://localhost:8080/servletXX`(XX为模块编号) ## 学习路径 1. **基础阶段**:servlet01(入门)→ servlet02(配置)→ servlet03(单例) 2. **核心阶段**:servlet04(请求响应)→ servlet05(参数处理)→ servlet06(转发重定向) 3. **进阶阶段**:servlet07(过滤器)→ servlet08(异常处理)→ servlet09(会话管理) 4. **高级阶段**:servlet10(JSP/JSTL)→ servlet11(监听器)→ servlet12(自定义标签) ## 注意事项 - 确保JDK版本为11或更高 - 确保Tomcat版本为9.0或更高 - 每个模块都有独立的README.md文件,详细说明模块功能和使用方法 - 代码中包含了详细的注释,便于理解和学习 ## 贡献 欢迎提交问题和改进建议,共同完善这个学习教程。