Hello Action
运行最小 Struts2 动作,观察请求参数如何进入 Action,再由结果页返回浏览器。
%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="s" uri="/struts-tags" %>
这个入口页现在不再只是样例链接集合,而是把经典 Struts2 的动作映射、参数绑定、Session 登录、表单校验和文件上传串成一个可循序学习的 Demo 门户。
运行最小 Struts2 动作,观察请求参数如何进入 Action,再由结果页返回浏览器。
这部分是本项目的核心改造点:用经典 Session 登录和拦截器串起后续实验页。
演示字段绑定、错误回显和成功汇总页,也是最适合讲参数注入的例子。
对比校验失败和成功页面,理解为什么 Struts2 会在业务逻辑之前先跑 validate。
保留 multipart 绑定教学价值,但不真正落盘,适合本地和 VPS 环境安全演示。
保留 JSON 动作和 REST 风格示例,用来说明经典 MVC 项目如何逐步演进到接口输出。
通过时序卡片展示请求到达、拦截、执行和结果之间的关系,并把登录保护链路具体化,增强讲解能力。
Struts2 将 URL 映射到 Action,执行之前先跑拦截器,再决定返回的 JSP 或 JSON。
Dispatcher 解析 namespace 与 action,构造参数并执行
`AuthInterceptor` 检测 Session,其他拦截器做参数/校验/文件准备
Action 返回 SUCCESS/INPUT,Struts 渲染 JSP 或 JSON,浏览器读取响应
每个请求都必须穿过这个三段式,理解它能帮助你解释 Struts2 的核心执行模型。
Action 负责业务,拦截器负责验证/鉴权,Result 负责视图渲染或 JSON 返回。
运用 `LoginAction`、`AuthInterceptor` 和 `DashboardAction` 来完成端到端登录和受保护导航。
从 `userFormPage` 到 `submitUser`,展示字段绑定、校验触发和成功结果的行为差异。
并列演示 `ajax.action`(AJAX JSON)和 `api/users.action`(REST JSON)的输出差异,便于讲解 Struts 如何扩展接口。