2024年4月17日发(作者:)
一、Struts2入门
1. 概念
什么是Struts2
Struts2 是一个用来开发 MVC 应用程序的框架.
它提供了 Web 应用程序开发过程中的一些常见问题的解决方案:
对页面导航活动进行管理
对来自用户的输入数据进行合法性验证
统一的布局
可扩展性
国际化和本地化
支持 Ajax
表单的重复提交
Struts2 VS Struts1
Struts2与Struts1 相比,在体系结构方面更优秀,具体表现在类更少,更高效,扩展更容易等。
struts2 不是从 Struts1 扩展而来的, 说它是一个换了品牌标签的 WebWork 更合适。
2. 程序
Struts2 核心就是一个 Filter,该Filter会对所有的请求进行拦截(/*)
StrutsPrepareAndExecuteFilter
StrutsPrepareFilter + StrutsExecuteFilter
Struts2 将所有的请求拦截下来,具体去访问哪个java类的方法需要读取配置文件
文件需位于工程的类路径下
实现一个 Struts 的 HelloWorld 程序
1) 将 %struts2-blank例子%WEB-INFlib 目录下所有jar包拷贝至 webprojectWEB-INFlib 中
2) 将%struts2-blank例子% 中的配置
PrepareAndExecuteFilter
拷贝至webproject/WEB-INF/ 中
3) %struts2-blank例子%将WEB-INFclasses 下的 文件拷贝至工程src下
清空
4) 新建 Action 实例,
Action可以不必是实现任何接口,它是一个普通java类(pojo),从这点可以看出 Struts2 是非侵入式设计,
Action可以不依赖struts和Servlet 而独立存在
Action中至少需要定义一个方法,且方法的返回值类型必须为String
public String sayHello() {
return "success";
}
5) 在 对 Action进行配置
class="orldAction" method="sayHello" >
6) 在 WEB-INF 下新建jsp页面
hello
动手练习: 用 struts2 实现最简单的mvc
二、Struts2 细节
1. package 元素
配置action的组织包
name: 配置包名,用于被继承
namespace: 配置访问路径
以 /a/b/c/action 为例 搜索action的顺序为 /a/b/c -- /a/b -- /a -- /
extends: 指定继承的包
2. action 元素
1) name属性
配置action的访问名称 后缀默认为 action和”” 可以通过常量进行配置
2) class属性
配置action对应的java类,必须为完整类名
如果继承struts-default 包,默认class 为ActionSupport,该类的 execute方法默认返回 success
我们在写 Action 类时通常会选择继承ActionSupport,也就自动继承了 execute 方法,同时可以使用父类定
义的常量 SUCCESS、ERROR 等
发布评论