Struts2.x概述:
Struts2是基于MVC设计模式的流行和成熟的Web应用程序框架。
搭建struts2环境
第一个例子
参考《第一个strut2例子》
jar包说明
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.4.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
commons-logging-api-1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.14.3.jar
xwork-core-2.3.14.3.jar
struts2框架核心流程
struts2核心流程
StrutsPrepareAndExecuteFilter类做了什么
答:
1. 将页面表单数据放入了一个Action对象中。
2. 将发送的请求分发到指定的Action类中。
3. 将Action返回的跳转名称,跳转到指定的页面或者action。
流程中用到类
1. StrutsPrepareAndExcuteFilter类
StrutsPrepareAndExcuteFilter是struts2的核心控制器。一个系统中只需要一个。只要在web.xml中配置所有的请求都通过这Filter就可以了。
FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!
StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的
一句话:一个专门用来做转发请求到action的Filter类。
2. Action类
action是struts.xml中<action>元素对应的处理类。该配置文件中可以配置指向多个action处理类,不同的业务需要不同的action类。
一句话:用来处理页面逻辑的主要类。
注意:action类是一个普通的类,请求提交的方法也可以自定义,并且处理的方法如果没有返回值或者返回null值,页面将不跳转。但是如果返回一个字符串,此字符串必须在配置中有对应的result节点。
内置的Action可以提供几个标准的返回值以供方法使用:
public static final String SUCCESS = "success";
public static final String NONE = "none";
public static final String ERROR = "error";
public static final String INPUT = "input";
public static final String LOGIN = "login";
3. ActionSupport类
ActionSupport类是一个工具类,它实现了Action与Validateable接口。
继承该ActionSupport类才可以实现数据校验功能,简化Struts 2的Action开发,
4. ActionContext类
上下文相当于在一个应用范围内的一个全局变量,只要是运行在这个范围内的都可以访问它
它存放放的是Action在执行时需要用到的对象,可以取得的对象有:
com.opensymphony.xwork2.util.ValueStack; 值栈对象
Map map = context.getSession(); session值集合
Map map1 = context.getApplication(); application值集合