`
visionary_2006
  • 浏览: 130830 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2与servlet API的三种解偶方法

阅读更多

如果开发过struts1.0的朋友应该知道其与servlet API是偶合的,然而struts2将Action与servlet API进行解偶.它方便了单元测试.struts2提供了三种方法对servlet API进行解偶.下面就这三种方法讲解一下:

 

1.ActionContext

 

这个接口对应到servlet API是HttpServletRequest


其中的两个主要方法get和 put 对应到HttpServletRequest的是getAttribute和setAttribute.

这样,我们只需要在execute中用ActionContext接口就能间接地操纵servlet API

 

查阅ActionContext的文档,我们发现其有一个static method. it`s getContext() .
the method returns the ActionContext specific to the current thread. the ActionContext for the current thread, is never null.

 

所以我们可以在Action中这样操纵servlet:

 

 ActionContext.getContext() .put(key,value);

其实这个方法就相当于servlet API中的

HttpServletRequest.setAttribute(key,value);

 

2.ServletRequestAware and ServletResponseAware

 

在action中使用时,都必须实现这两种接口.然后实现其中的方法.不推荐使用

 

3.ServletActionContext

 

为全接口继承了ActionContext,其方法都为静态,可以直接调用

如:

HttpServletRequest request= ServletActionServlet.getRequest();

 

 

综上所述,这三种方法的使用先后顺序为:

ActionContext

ServletActionContext

ServletRequestAware and ServletResponseAware

但是第一种方法无法获得 HttpServletRequestHttpServletResponse对象.

其它两种可以

 

上面讲的不够详细,如果需要可以参考struts2的API..表达的不够好,有什么问题的话可以与本人联系.

分享到:
评论

相关推荐

    Struts2访问ServletAPI

    在Struts2框架中,我们有时需要直接与Servlet API交互,例如处理HTTP请求、响应,或者使用Session、Cookie等。本文将深入探讨如何在Struts2中访问Servlet API。 首先,理解Struts2的执行流程至关重要。当一个请求...

    Struts2之Servlet API及单元测试初识案例struts005

    在这个“Struts2之Servlet API及单元测试初识案例struts005”中,我们将探讨Struts2如何与Servlet API结合使用,以及如何进行单元测试。 Servlet API是Java EE平台的核心部分,用于构建动态Web应用程序。Struts2...

    struts2之Action访问Servlet API

    在本文中,我们将详细介绍 Struts2 访问 Servlet API 的几种方法。 一、使用 ActionContext 类 ActionContext 类是 Struts2 框架中一个重要的类,它提供了多种方法来访问 Servlet API。该类可以模拟获取 request、...

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

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

    MAX的struts2教程、struts2 API、servlet API

    在本教程和API文档中,我们将深入理解Struts2的核心概念、功能以及与之相关的Servlet API。 首先,"MAX的struts2教程"提供了全面的Struts2学习指南,帮助初学者快速上手。这个教程可能涵盖以下内容: 1. **基础...

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

    - 直接使用Servlet API可能导致代码与Struts2的集成度降低,不利于维护。 - 必须确保正确处理异常,防止因直接操作HTTP响应导致的错误。 综上所述,了解如何在Struts2中直接访问Servlet API是非常有用的技能,它...

    java上传与下载——struts2和servlet案例

    本案例聚焦于使用Struts2和Servlet两种不同的技术来实现这一功能。这两个技术都是Java Servlet的重要扩展,用于增强Web应用程序的功能和用户体验。 首先,让我们深入理解Struts2框架。Struts2是一个基于MVC(Model-...

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

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

    Struts2中Servlet的配置

    综上所述,Struts2提供了多种方式来与Servlet API交互,同时通过适当的过滤器配置,可以确保在Struts2框架下,直接编写的Servlet也能正常工作。理解和掌握这些配置技巧对于开发和维护Struts2应用至关重要。

    Struts2 part 3:在Action中使用ServletAPI

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

    servlet api servlet api

    MVC(Model-View-Controller)框架如Spring MVC、Struts等,虽然提供了更高级别的抽象,但底层仍然基于Servlet API处理请求和响应。 综上所述,Servlet API是构建Java Web应用的基础,提供了处理HTTP请求的核心...

    strut2 servletapi

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

    Struts2之Servlet文件上传详解案例struts010

    本案例“Struts2之Servlet文件上传详解”将聚焦于如何使用Struts2框架配合Servlet实现文件上传功能。在Web应用中,文件上传是一个常见的需求,例如用户可能需要上传头像、附件等。 首先,我们来理解文件上传的基本...

    struts2的API耦合与动态方法调用

    本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...

    关于struts和servlet同时用

    Struts是一种基于MVC(Model-View-Controller)设计模式的开源框架,而Servlet则是Java标准库中用于处理HTTP请求的API。 Servlet是Java EE平台的核心组成部分,它提供了一种服务器端编程模型,可以接收和响应来自...

    servlet与struts简介

    ### servlet与struts简介 #### 一、Servlet概述 Servlet是一种服务器端的Java技术,用于扩展Web服务器的功能。Servlet能够动态地生成Web页面,并且可以处理来自客户端的HTTP请求。Servlet是Java EE的重要组成部分...

    tomcat、struts2、servlet Filter(过滤器) 工作原理

    在IT行业中,Tomcat、Struts2和Servlet Filter是Java Web开发中的重要组成部分。了解它们的工作原理对于构建高效、安全的Web应用程序至关重要。下面将详细阐述这三个组件的基本概念和工作流程。 首先,Tomcat是一个...

Global site tag (gtag.js) - Google Analytics