HUAT Java Web Labs

Java Web 基础实验合集,从 Servlet 入门到 JSP MVC 完整 Web 应用,涵盖登录认证、数据库 CRUD、过滤器和监听器。

入门 Completed 2024
JavaServletJSPJSTLMySQLJDBCMavenTomcat
Overview

Project Details

Tags

JavaWebServletJSPCoursework

Keywords

ServletJSPJDBCMVCFilterListenerSessionCookie

Architecture

每个实验基于 MVC 模式分层:Servlet 作为 Controller 处理请求,JSP 作为 View 渲染页面,DAO 层封装 JDBC 数据库操作。使用 Jakarta EE 10 规范(原 Java EE)。

项目背景

Java Web 实验是理解企业级 Web 开发的基础。本合集包含 5 个递进实验,从最简单的 Servlet Hello World 到包含用户认证、数据库操作的完整 Web 应用。

核心功能

  • WebLab1: Servlet 基础、请求/响应处理、生命周期
  • WebLab2: JSP 语法、JSTL 标签、EL 表达式
  • WebLab3: JDBC 数据库连接、CRUD 操作
  • WebLab4: MVC 模式、登录注册、Session 管理
  • WebLab5: Filter 过滤器、Listener 监听器、文件上传

系统架构

Java Web MVC Architecture
graph TD
  A[Browser] -->|HTTP| B[Tomcat]
  B --> C[Filter]
  C --> D[Servlet Controller]
  D --> E[Service]
  E --> F[DAO]
  F --> G[(MySQL)]
  D --> H[JSP View]
  H --> I[HTML/CSS/JS]

实验列表

实验重点内容技术点
WebLab1Servlet 入门doGet/doPost, 请求参数
WebLab2JSP 页面JSTL, EL, 页面包含
WebLab3JDBC 操作连接池, CRUD, 事务
WebLab4MVC + 登录Session, Cookie, 过滤器
WebLab5综合应用文件上传, 监听器

项目结构

Lab Directory Structure
HUATJavaWebLab/
├── WebLab1/              # Servlet 基础
├── WebLab2/              # JSP 页面
├── WebLab3/              # JDBC 数据库
├── webLab4/              # MVC + 登录
├── WebLab5/              # 综合实验
└── README.md

核心代码

Hello Servlet

HelloServlet.java - Basic Servlet GET/POST Handling
Loading code...

登录认证 Servlet

LoginServlet.java - Session-based Authentication
Loading code...

效果展示

技术要点

Servlet 生命周期

  1. 加载实例化:Tomcat 启动时或首次请求时
  2. 初始化init() 方法,只执行一次
  3. 服务service()doGet()/doPost(),每次请求
  4. 销毁destroy(),服务器关闭时

JDBC 最佳实践

  • 使用 DataSource 连接池(Druid/HikariCP)
  • 必须使用 PreparedStatement 防止 SQL 注入
  • 资源释放放在 finally 块或使用 try-with-resources

Filter 过滤器链

请求 → EncodingFilter → AuthFilter → Servlet
响应 ← EncodingFilter ← AuthFilter ← Servlet

过滤器可以:统一编码、登录验证、日志记录、权限检查

Problems Solved

Challenges & Solutions

01

理解 Servlet 生命周期和请求转发/重定向的区别

02

JDBC 连接池配置与 SQL 注入防护(PreparedStatement)

03

过滤器链实现登录验证和统一编码处理

Reflections

Key Takeaways

掌握了 Java Web 的核心规范和开发流程

理解了 HTTP 请求处理模型和会话管理机制

为后续学习 Spring Boot 打下了坚实基础