Action访问Servlet的API

Action访问Servlet的API_,主要访问如下:

      1.>获取request对象

      2.>获取请求参数

      3.>获取response对象,可用于传递cookie

      3.>获取作用域对象,request,Session,application,并设置共享数据,

访问方式一:    

    通过实现感知接口中的setter方法,讲其setter方法中的request参数传递到本类中来:

    即,在本类中定义一个成员变量,来接收setter方法中的request.

    

    如果,还需要获取response,Session,application等对象,,那么同理只需再同时实现ServletResponseAware,

    ApplicationAware,SessionAware接口,并实现其中的setter方法即可,如图:

    

访问方式二:通过struts的ServletActionContext工具类

      通过该类中的静态方法来获取相应的request和response对象,

方法3:通过ActionContext工具类

    该类为ServletAcitonContext的父类,表示Action的上下文对象,表示Action存在环境

    通过该类中的getContext()方法创建该类对象,,再通过调用该类方法获取相应对象,如使用getParameters()方法,,会返回

    一个参数的属性名和属性值数组的Map,.而需要设置请求参数时,则通过向该得到的Map中添加键值对(即使用Map.put(key,value)方法;),

    即可完成共享请求数据的封装设置.

    同样的,对于Session和application,首先使用getSeesion(),和getApplication(),,这个方法也返回一个Map集合,同样的,需要设置共享参数时,

    则通过向该得到的Map中添加键值对(即使用Map.put(key,value)方法;),即可完成共享数据的封装设置.如图,

    

时间: 2024-10-14 06:08:41

Action访问Servlet的API的相关文章

struts2学习笔记之六(Action访问servlet的API以及复制项目小技巧)

action和servlet分离使得action代码更加纯洁,与servlet的耦合性也降低了 但是有时候却不得不访问servlet API,比如把数据放到session,application里, 更甚至于添加cookie(response.addCookie()) strust2提供了两种方式访问servlet api 伪访问 借助于ActionContext类 Map<String ,Object > getApplication() 模拟访问http application Map&l

action访问servlet的API并且获取到MAP类型的application,session,request

public class testAction3 extends ActionSupport { private Map<String,Object> request; private Map<String,Object> session; private Map<String,Object> application; /** * 构造函数,没有返回值 */ public testAction3(){ this.request=(Map) ActionContext.g

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di

struts2的action访问servlet API的三种方法

学IT技术,就是要学习... 今天无聊看看struts2,发现struts2的action访问servlet API的三种方法: 1.Struts2提供的ActionContext类 Object get(Object key);可以获取request属性 Map getSession():可以得到session属性 Map getAppliction():可以得到ServletContext实例 2.action类实现 ServletContextAware,ServletRequestAwa

Action访问Servlet API的三种方法

一.为什么要访问Servlet API ? Struts2的Action并未与Servlet API进行耦合,这是Struts2 的一个改良,从而方便了单独对Action进行测试.但是对于Web控制器而言,不访问action是不行的,Struts提供了一种比较简单的方式来访问Servlet API . 二.通常我们需要访问的Servlet API 是 HttpSession.HttpservletRequest.ServletContext,分别对应了JSP内置对象 session,reques

struts2访问servlet的API

1.struts作为控制器,正常很多时候要访问到servlet的API,常用功能: (1).获取请求参数,控制界面跳转 (2).把共享数据存储于request,session,servletContext中,获取作用域中的数据 宏观的来说,应该有三种访问方式. 2.第一种:实现接口,访问Action时完成注入 ServletContextAware void setServletContext(javax.servlet.ServletContext context) ServletReques

Struts2(七) Struts2访问Servlet的API

当接受表单参数,向页面保持数据时.要用到Struts访问Servlet 的API .下面只做参考,有错误或不同意见可以发送邮箱[email protected]  .建议大家看struts文档,源代码 1.struts2通过ActionContext访问 com.opensymphony.xwork2.ActionContext;类有很多方法这里只列举几个常用的方法: 列举个小例子 Struts2的核心配置web.xml 就不做说明了  .前面已经操作过: Struts.xml <?xml ve

Java EE----Struts2 Action 访问Servlet API

以前 Servlet  doGet(HttpServletRequest,HttpServletResponse) ,doGet方法无法进行单独测试 ,要测试,必须构造request和response对象 Struts2 Action的execute方法非常便于单独测试,这个方法不依赖Servlet API Servlet常用API对象 : HttpServletRequest.HttpSession.ServletContext (三种服务器端数据范围).HttpServletResponse

Struts2笔记--Action访问Servlet API

Web应用中通常需要访问的Servlet API就是HttpServletRequest.HttpSession和ServletContext,这三个接口分别代表JSP内置对象中的request.session和application. 1.使用Struts2提供的ActionContext类来访问Servlet API.下面是ActionContext类中包含的几个常用方法. Object get(Object key):该方法类似于调用HttpServletRequest的getAttrib