1、action:代表一个sturts2的请求;
2、Action类:能够处理Struts2请求的类:
--属性名必须遵守与JavaBean属性名相同的命名规则;
--属性的类型可以使任意类型。从字符串到非字符串之间的数据转换可以自动发生;
--必须提供一个无参构造器;
--至少有一个供struts在执行action时调用的方法;
--同一个Action类可以包含多个action方法;
--struts2会为每一个HTTP请求创建一个新的Action实例,它是单例的,线程安全。
3、在Action对象中访问Web资源:
--Web资源包括: HttpServletRequest、HttpSession、ServletContext等Servlet API;
--通过与Servlet API解耦的方式:只能访问有限的方法(读取请求参数、读写域对象属性等)
>ActionContext对象:可以获取当前Action需要的一切信息;
>实现XxxAware 接口;
--通过与Servlet API耦合的方式:能够访问更多Servlet API对象,可以调用更多方法;
>直接获取HttpServletRequest对象:ServletActionContext.getRequest();
>直接获取HttpSession对象:ServletActionContext.getRequest().getSession();
>直接获取ServletContext对象:ServletActionContext.getServletContext();
>通过实现ServletRequestAware,ServletContextAware等接口的方式;
4、ActionSupport: 默认的Action 类,若<action>没有指定class属性,则ActionSupport就是处理该action的类,同样的若不指定method属性,则execute()方法为默认执行方法;
5、result:是action的子节点,代表action方法执行完毕之后返回的结果;
--name属性:表示对应action方法的返回值;
--type属性:表示结果的相应类型,默认为”dispatcher”, 常用的有:
> redirect: 重定向
> redirectAction: 重定向到一个action;
> chain: 转发到一个action;