# basic-servlet **Repository Path**: java-lesson/basic-servlet ## Basic Information - **Project Name**: basic-servlet - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-06 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Basic Servlet 项目 一个基于 Jakarta Servlet 的 Java Web 基础项目,用于学习和演示 Servlet 的核心功能。 ## 📋 项目简介 本项目是一个简单的 Java Web 应用程序,展示了 Servlet 的基本用法,包括: - HTTP 请求处理(GET/POST) - 表单参数获取 - 文件上传功能 - 用户登录验证 ## 🛠️ 技术栈 - **Java**: JDK 26 - **Servlet**: Jakarta Servlet API 6.1.0 - **构建工具**: Maven - **文件上传**: Commons FileUpload 2.0.0-M4 - **打包格式**: WAR ## 📁 项目结构 ``` basic-servlet/ ├── src/ │ ├── main/ │ │ ├── java/com/example/basic/servlet/ │ │ │ ├── HelloServlet.java # 问候示例 Servlet │ │ │ ├── LoginServlet.java # 登录验证 Servlet │ │ │ ├── RegisterServlet.java # 注册参数处理 Servlet │ │ │ └── UploadPhotoServlet.java # 文件上传 Servlet │ │ └── webapp/ │ │ ├── WEB-INF/ │ │ │ └── web.xml # Web 应用配置 │ │ ├── index.jsp # 首页 │ │ ├── login.html # 登录页面 │ │ ├── register.html # 注册页面 │ │ └── upload.html # 文件上传页面 ├── pom.xml # Maven 配置文件 └── README.md # 项目说明文档(中文) ``` ## 🚀 快速开始 ### 前置要求 - JDK 26 或更高版本 - Maven 3.6+ - Servlet 容器(如 Tomcat 10+) ### 构建项目 ```bash mvn clean package ``` 构建完成后,会在 `target` 目录下生成 `basic-servlet-1.0-SNAPSHOT.war` 文件。 ### 部署运行 1. 将生成的 WAR 文件复制到 Tomcat 的 `webapps` 目录 2. 启动 Tomcat 服务器 3. 访问 http://localhost:8080/basic-servlet-1.0-SNAPSHOT/ ### 开发模式运行 使用 IDE(如 IntelliJ IDEA)导入 Maven 项目,配置 Tomcat 服务器后直接运行。 ## 📝 功能说明 ### 1. Hello Servlet - **路径**: `/hello-servlet` - **方法**: GET - **功能**: 显示简单的问候消息 - **说明**: 演示基本的 Servlet 初始化和响应输出 ### 2. 用户登录 - **路径**: `/login` - **方法**: POST - **功能**: 验证用户名和密码 - **测试账号**: - 用户名: `admin` - 密码: `123` - **说明**: 演示 POST 请求处理和简单的身份验证 ### 3. 用户注册 - **路径**: `/register` - **方法**: GET/POST - **功能**: 演示多种参数获取方式 - 单值参数获取(`getParameter`) - 多值参数获取(`getParameterValues`) - 遍历所有参数(`getParameterMap`) - **说明**: 展示如何处理不同类型的表单数据 ### 4. 文件上传 - **路径**: `/uploadPhoto` - **方法**: POST - **功能**: 接收并保存上传的文件 - **限制**: 文件大小最大 1MB - **存储位置**: `webapp/uploaded/` 目录 - **说明**: 演示 multipart/form-data 文件上传处理 ## 🔧 配置说明 ### Maven 依赖 项目使用以下主要依赖: - `jakarta.servlet-api`: Servlet API(provided 作用域) - `commons-fileupload2-jakarta-servlet6`: 文件上传支持 ### 编译配置 - 源代码编码: UTF-8 - Java 版本: 26 ## 📌 注意事项 1. **字符编码**: 所有 Servlet 都设置了 UTF-8 编码,确保中文正常显示 2. **文件上传**: 上传的文件保存在 `uploaded` 目录,请确保该目录有写入权限 3. **安全性**: 本项目仅用于学习,生产环境需要添加更完善的安全措施 4. **临时文件清理**: 文件上传后会清理临时文件,避免磁盘空间占用 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 本项目仅供学习使用。 ## 📧 联系方式 如有问题,请通过 Issue 反馈。