<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="s" uri="/struts-tags" %> Struts2 学习门户
Struts2 学习门户

登录之后才能继续学习

所有课程模块(首页/实验/JSON 等)都由 AuthInterceptor 保护,未登录访问会自动跳转。请先登录再回来。

登录后才能看到完整课程导航与实验入口。
当前: 当前尚未登录,请先完成登录再浏览实验。
学习模块导航

分步骤理解 Struts2

每个模块都通过 `.action` 路由触达,由统一的 Session 鉴权链路保护。

请求生命周期

Dispatcher → Action → Interceptor → Result,严格按链路走向。

Dispatcher Action Interceptors Result

登录保护

`LoginAction` 写入 Session,`AuthInterceptor` 阻止任何未登录访问。

表单与校验

表单字段直接绑定到 Action,ValidationAction 负责完整校验流程。

AJAX / REST 对照

对比 `ajax.action` 与 `api/users.action` 的 JSON 输出。

Insight

安全学习链路速览

登录才能使用

未登录访问 `dashboard.action` 等任何端点都会被 AuthInterceptor 重定向至 `loginPage.action`。

表单绑定观察

`UserAction` 按字段绑定,`ValidationAction` 造成的字段错误会带回当前 JSP。

AJAX vs REST

`ajax.action` 返回对话式 JSON,`api/users.action` 呈现 REST 样式,便于教学对照。