`
younglibin
  • 浏览: 1211142 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Action访问Servlet API

阅读更多

Action访问ServletAPI:

Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,从而能更轻松的测试该Action。
但对于Web应用的控制器而言,不访问Servlet API几乎是不可能的,例如跟踪HTTP Session状态等。Struts2框架提供了一种更轻松的方式来访问Servlet API。Web应用中通常需要访问的Servlet API就是HttpServletRequest,HttpSession和ServletContext,这三个类分别代表JSP内置对象中的request,session和appliaction。
Struts2提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API。

 

一、下面是ActionContext类中包含的几个常用方法:


 Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法。
 Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例。
 static ActionContext getContext():静态方法,获取系统的ActionContext实例。
 Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap方法。
 Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
 void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名、属性值。
 void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名、属性值。

 

二、struts2还提供如下接口访问:

 

 1.ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。

 2.ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例。

 3.ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpServletResponse实例。

 

三、struts2提供了一个ServletActionContext工具类,包含如下方法:

 

  1. static PageConetxt getPageContext() : 取得Web应用的PageContext对象;
  2. static HttpServletRequest getRequest() : 取得Web应用的HttpServletRequest 对象;
  3. static HttpServletResponse getResponse() : 取得Web应用的HttpServletResponse 对象;
  4. static ServletContext getServletContext() : 取得web应用的ServletContext对象

 

分享到:
评论
1 楼 新入职 2010-08-03  
如果能给代码演示一下就最好啦

相关推荐

    struts2之Action访问Servlet API

    将 Action 实现这些接口,可以直接访问 Servlet API。 三、使用 ServletActionContext 访问 Servlet API ServletActionContext 类提供了多种静态方法来访问 Servlet API,包括: * static PageContext ...

    详解Struts2中Action访问Servlet API的几种方法

    详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象。如果想在Struts2程序中用到...

    Struts2访问ServletAPI

    在Action执行过程中,如果需要直接访问Servlet API,可以通过以下几种方式实现: 1. **使用ServletActionContext**: Struts2提供了一个名为`ServletActionContext`的类,它包装了`HttpServletRequest`和`...

    Struts2中直接和间接访问ServletAPI以及动态方法调用之感叹号

    在Struts2框架中,直接和间接访问Servlet API以及动态方法调用是两个关键概念,它们对理解和优化应用性能至关重要。 首先,让我们深入理解直接访问Servlet API。在传统的MVC模式中,Servlet扮演着控制器的角色,...

    Struts2 直接访问Servlet API(二十五)

    在“Struts2直接访问Servlet API(二十五)”这个主题中,我们可能探讨的是如何在Struts2框架下直接利用Servlet API来实现某些特定功能或者优化性能。Servlet API是Java Web开发的基础,它提供了处理HTTP请求和响应...

    Struts2 part 3:在Action中使用ServletAPI

    在"Struts2 part 3:在Action中使用ServletAPI"这一主题中,我们将深入探讨如何在Struts2的动作类(Action)中集成和利用Servlet API来增强应用的功能。 Servlet API是Java Servlet规范的一部分,它提供了一系列...

    strut2 servletapi

    这个压缩包“strut2 servletapi”显然包含了使用Struts2框架访问Servlet API的示例代码。Servlet API是Java Servlet规范的一部分,提供了一系列接口和类,允许开发者处理HTTP请求、响应以及与Web服务器交互。 在...

    Action访问Servlet的API的简单实例

    在这个"Action访问Servlet的API的简单实例"中,我们将探讨如何在Struts Action中通过不同的方式来访问Servlet API,以便于处理HTTP请求和响应。 首先,我们来看**访问方式一**,这是通过实现Struts提供的接口来获取...

    基于J2EE的开发技术 - 实验项目1 - Action的实现与配置

    2. 了解如何使用Action访问Servlet API,如通过ActionContext获取和设置数据。 3. 学习Action的基本配置,包括使用通配符进行Action匹配和配置method属性以实现多方法Action。 4. 掌握通配符的使用技巧,提高配置的...

    深入学习struts2

    7. **Action访问Servlet API** - 通过`ActionContext`,Action可以直接访问Servlet容器提供的上下文信息,如session、request和response对象。 - 当需要直接操作Servlet API时,也可以在Action中进行,但通常建议...

    struts的深入学习

    8. Action访问Servlet API:在Action类中可以直接使用Servlet API,以便与Web容器交互,获取请求参数、设置响应内容等。 9. 一个Action内包含多个请求处理方法:在Struts2中,可以通过动态方法调用或配置method属性...

    struts2教程

    7. **Action访问Servlet API**: - `ActionContext`可以用来间接访问Servlet API,而继承`ServletActionContext`的Action可以直接使用Servlet API。 8. **动态方法调用**: - 允许在表单提交时动态指定Action的...

    API集合 Hibernate中文API JQuery帮助文档 Servlet Api Ajax中文手册 快速上手 Struts2 spring

    这份中文教程将帮助学习者理解Struts2的工作原理,包括Action、拦截器、结果类型、国际化等核心概念。 4. **spring框架中文官方教程.chm**:Spring是Java开发中最流行的框架之一,提供依赖注入、面向切面编程、数据...

    StrutsServlet.rar

    StrutsServlet.rar是一个压缩包,其中包含了与Struts框架如何访问Servlet API相关的源代码。Struts是Apache软件基金会开发的一个开源MVC(Model-View-Controller)框架,它主要用于构建基于Java的Web应用程序。这个...

    Andriod访问WebService和Servlet.zip

    二、Android访问Servlet 1. **Servlet简介**:Servlet是一种Java技术,用于扩展服务器的功能,可以处理HTTP请求并返回响应。在Android中,我们通常通过HTTP请求(如HTTPClient或OkHttp)与Servlet进行通信。 2. **...

    Struts2中Servlet的配置

    这样做的好处是,即使没有实现上述的Aware接口,也可以访问Servlet API。 3. **Struts2与Servlet共存的问题及解决**: 当一个项目同时使用了Struts2框架和直接的Servlet时,可能会遇到问题,因为Struts2有自己的...

    Struts2访问Servlet的三种方式

    Struts2 框架中,Action 并没有直接和 Servlet API 耦合,这使得 Action 可以更好地进行单元测试。然而,在实现业务逻辑时,经常需要访问 Servlet 中的对象,如 request、session 和 application 等。因此,Struts2 ...

    java的Servlet测试demo

    在`@WebServlet`注解中,"/demo"是Servlet的URL路径,客户端可以通过这个路径访问Servlet。 为了测试Servlet,我们需要在IDEA中配置运行Tomcat服务器,并将Servlet部署到服务器上。在IDEA的Run/Debug ...

Global site tag (gtag.js) - Google Analytics