首页 > 其他 > 详细

struts2笔记

时间:2016-12-29 19:44:09      阅读:88      评论:0      收藏:0      [点我收藏+]

Struts2 中, HTML 表单将被直接映射到一个 POJO,通过params拦截器。

Struts2 中,任何一个POJO都可以是一个action类。

Struts2 会为每一个 HTTP 请求创建一个新的 Action 类的实例,即 Action 不是单例的,是线程安全的。

必须有一个不带参的构造器,struts.xml中通过全类名反射创建类实例

//**************************Struts2 访问 web 资源**************************

在 Action 中, 可以通过以下方式访问 web 的 HttpSession, HttpServletRequest, HttpServletResponse  等资源

  1、——与Servlet API解耦的方式(只能访问有限的API对象,及方法,方便 Action 做单元测试)

    · 1.1、通过使用ActionContext(是Action执行的上下文对象,保存了parameters, request, session, application 等)

      技术分享
1 ActionContext actionContext = ActionContext.getContext();
2 Map<String, Object> applicationMap = actionContext.getApplication();
3 Map<String, Object> sessionMap = actionContext.getSession();
4 Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request");
5 Map<String, Object> parameters = actionContext.getParameters();
6 System.out.println(((String[]) parameters.get("name"))[0]);
View Code

    ` 1.2、通过Action类中实现接口:ApplicationAware、RequestAware、SessionAware(Action 类通过可以实现某些特定的接口, 让 Struts2 框架在运行时向 Action 实例注入 parameters, request, session 和 application 对应的 Map 对象

    · 选用建议:若一个Action类中有多个 action 方法,且多个方法都需要使用Map或者parameters,则建议使用Aware接口的方式

    · 备注:session对应的Map实际上是SessionMap类型的,强转后,若调用其invalidate()方法,可以是session失效。

    · 备注:Struts2 对 HttpServletRequest, HttpSession 和 ServletContext 进行了封装, 构造了 3 个 Map 对象来替代这 3 个对象, 在 Action 中可以直接使用 HttpServletRequest, HttpServletSession, ServletContext 对应的 Map 对象来保存和读取数据.

  2、——与Servlet API耦合的方式(可以访问更多的Servlet API对象,及其原生方法,直接访问 Servlet API 将使 Action 与 Servlet 环境耦合在一起,  测试时需要有 Servlet 容器, 不便于对 Action 的单元测试.)

    · 2.1、通过使用ServletActionContext类

      技术分享
1 HttpServletRequest request = ServletActionContext.getRequest();
2 HttpSession session = ServletActionContext.getRequest().getSession();
3 ServletContext servletContext = ServletActionContext.getServletContext();//和application一样
View Code

    · 2.2、通过Action类中实现接口:

**************************Struts2 访问 web 资源**************************//

struts2笔记

原文:http://www.cnblogs.com/orco/p/6233930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!