1、struts2处理web应用请求过程mvc实现
2、HTTP请求 提交 Struts2StrutsPrepareAndExecuteFilter 核心控制器 ------ 请求分发给不同Action
3、让请求能够访问Action ----- Action书写方式 三种
第一种 Action可以是 POJO ((PlainOldJavaObjects)简单的Java对象) ---- 不需要继承任何父类,实现任何接口
*struts2框架 读取struts.xml 获得 完整Action类名
*obj = Class.forName("完整类名").newInstance();
* Method m =Class.forName("完整类名").getMethod("execute"); m.invoke(obj); 通过反射 执行 execute方法
第二种 编写Action 实现Action接口
Action接口中,定义默认五种逻辑视图名称
publicstatic final String SUCCESS = "success"; // 数据处理成功 (成功页面) publicstatic final String NONE = "none"; // 页面不跳转 return null; 效果一样 publicstatic final String ERROR = "error"; // 数据处理发送错误 (错误页面) publicstatic final String INPUT = "input"; // 用户输入数据有误,通常用于表单数据校验 (输入页面) publicstatic final String LOGIN = "login"; // 主要权限认证 (登陆页面)
*五种逻辑视图,解决Action处理数据后,跳转页面
第三种 编写Action 继承ActionSupport (推荐)
在Action中使用 表单校验、错误信息设置、读取国际化信息 三个功能
4、开发细节-三个一致
- 表单的属性应该和struts.xml中配置的action的那么属性一样。
- 表单内用于输入参数的标签name属性,应该与Action的域成员名字保持一致。
- Action的execute()方法返回的字符串应该与struts.xml中配置单的result节点的name属性一致。