struts2--action请求与Action类

1、action:代表一个sturts2的请求;

2、Action类:能够处理Struts2请求的类:
  --属性名必须遵守与JavaBean属性名相同的命名规则;

  --属性的类型可以使任意类型。从字符串到非字符串之间的数据转换可以自动发生;

  --必须提供一个无参构造器;

  --至少有一个供struts在执行action时调用的方法;

  --同一个Action类可以包含多个action方法;

  --struts2会为每一个HTTP请求创建一个新的Action实例,它是单例的,线程安全。

3、在Action对象中访问Web资源:

  --Web资源包括: HttpServletRequestHttpSessionServletContextServlet 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

原文地址:https://www.cnblogs.com/tengtao93/p/5142088.html