ActionContext和ServletActionContext小结 1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"…
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionCo…
1 再探ActionContext 我们知道,ActionContext是Action执行时的上下文,里面存放着Action在执行时需要用到的对象,也称之为广义值栈.Struts2在每次执行Action之前都会创建新的ActionContext,在同一个线程里ActionContext里面的属性是唯一的,这样Action就可以在多线程中使用. 1.1 ActionContext的线程安全性 那么Struts2是如何保证ActionContext的线程安全性呢?看看ActionContext对象的…
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionCo…
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionCo…
一.ActionContext在Struts2开发中除了将请求参数自动设置到Action的字段中,往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest)和响应(HttpServletResponse)操作. ActionContext(com.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(其实…
前面已经了解到ActionContext是Action执行时的上下文,里面存放着Action在执行时需要用到的对象,我们也称之为广义值栈. Struts2在每次执行Action之前都会创建新的ActionContext,在同一个线程里ActionContext里面的属性是唯一的,这样Action就可以在多线程中使用. 1:ActionContext的线程安全性 那么Struts2是如何保证ActionContext的线程安全性呢? 看看ActionContext对象的代码,示例如下: ? 1 2…
转载自:http://www.cnblogs.com/tanglin_boy/archive/2010/01/18/1650871.html感谢原文作者的总结 1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话 (Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse…
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionCo…
转自:http://blog.sina.com.cn/s/blog_6c9bac050100y9iw.html 在Web应用程序开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话 (Session)的一些信息, 甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username&…
//public class BaseAction extends ActionSupport{ public static HttpServletRequest getRequest(){ return ServletActionContext.getRequest(); } public static HttpServletResponse getResponse(){ return ServletActionContext.getResponse(); } public static Ht…
核心思想 1.ActionContext HttpServletRequest getAttribute setAttribute ActionContext get put //ActionContext.getContext() 获取入口 ActionContext.getContext().put("key", "value"); 2.ServletRequestAware package com.test.action; public class Login…
#Struts2-045 ''' CVE-2017-5638 影响范围:Struts 2.3.5 – Struts 2.3.31,Struts 2.5 – Struts 2.5.10 触发条件:基于Jakarta Multipart解析器上传文件时,可能会导致远程代码执行 利用方法:构造Content-type的值 测试POC: %{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_mem…
ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getContext(); Map<String,Object> applicationMap = ac.getApplication();//这个就是ServletContext对象中维护的那个Map applicationMap.put("p", "application_p&q…
之前的demo中用了一些struts2标签,用的是struts2.2.1.1. Struts2的标签常常和OGNL(图对象导航语言)一起使用.有几点总结如下: [引用请注明出处:http://blog.csdn.net/bhq2010/article/details/9183591] 1.struts2标签必须的jar包 struts2标签可以分为数据标签.控制标签.表单标签.AJAX标签等几类,要使用这些标签必须加入web工程的jar包有: commons-codec-1.6.jar comm…
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionCo…
1. Struts2简介 Struts2是一个WEB端MVC框架.作为比较早的MVC 框架之一,Struts2在使用中还是比较多的.虽然个人感受没有SpringMVC还那么的好用 Struts2 官网 在Model2中我们使用Servlet作为控制器: Servlet主要负责: 接收用户发送的请求 将请求参数封装为Java中的对象 调用service来处理业务逻辑 根据service返回的结果,选择视图 2. Struts2-HelloWorld 新建一个Maven 的webapp 项目 在这里…
1.通过servletActionContext类 /*** * 获得方式一:通过ServletActionContext类 * 提供的静态方法获得原始的web对象,直接和servlet的API耦合 * 如果需要获得原始的web对象,只能选择ServletActionContext类 * **/ public String method01() { //获得HttpServletRequest对象 HttpServletRequest request= ServletActionContext.…
课时15 访问或添加request/session/application属性 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以使用这个变量. 3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程. 4.application它的有效范围是整个应用. struts之ActionContext ActionContext和Serv…
转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import o…
在struts2中訪问servletAPI,通俗点也就是使用servlet中的两个对象request对象和response对象. 前几天看到一个CRM项目的源代码,里面使用request对象和response对象方式和我曾经使用的方式有点不同,于是便上网查询一些相关资料.特此记录于此,有兴趣的也能够參考參考. 以往使用struts2往网页填充数据通常採用往值栈存放数据.也就是ActionContext.getContext().****();后面的方法类似与request对象和response对…
## Struts2第三天 ## ---------- **课程回顾:Struts2框架的第二天** 1. Servlet的API * ActionContext对象 * ServletActionContext对象 2. 结构类型的跳转 * 全局结果 * 局部结构,type属性 3. 数据的封装 * 属性驱动方式 * 模型驱动方式 4. 拦截器(自定义拦截器) ---------- **今天的课程内容** 1. OGNL表达式(了解) 2. Struts2框架的值栈(值栈.存入值.取值) 3.…
1)基本使用 名称为“chain”的ResultType,在struts-default.xml里的配置如下: <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/> chain是一种特殊的视图结果,用来将Action执行完之后链接到另一个Action中继续执行,新的Action使用上一个Action的上下文(ActionContext),数据也会被传递.…
web应用中需要访问的ServletAPI,通常只有HttpServletRequest,HttpSession,ServletContext三个,这三个接口分别代表jsp内置对象中的request,session,application,Struts2没有与任何Servlet接口耦合,所以很方便的访问Servlet API. 第一种: Struts2提供了一个ActionContext类,顾名思义,Action的上下文,该类提供了很多方法,比如getApplication(),getSessi…
第一种:获取requestMap,sessionMap,applicationMap, HttpServletRequest,HttpServletResponse对象的获取,在Struts2中 public String getMap(){ //获取被处理过的request,session,application三大常用作用域的map形式,可以往里边存放数据,在jsp中就可以用el,ognl表达式取值 //ac容器在struts2中任何地方都可以获取,可以当做一个作用域来传递值 ActionC…
Struts2第三天 课程回顾:Struts2框架的第二天 1. Servlet的API * ActionContext对象 * ServletActionContext对象 2. 结构类型的跳转 * 全局结果 * 局部结构,type属性 3. 数据的封装 * 属性驱动方式 * 模型驱动方式 4. 拦截器(自定义拦截器) 今天的课程内容 1. OGNL表达式(了解) 2. Struts2框架的值栈(值栈.存入值.取值) 3. OGNL的特殊符号 案例一:使用Struts2框架查询所有的客户功能…
值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获取自己须要的数据就能够了. 2.值栈能干什么? 简单说:就是可以线程安全的为每个请求提供公共的数据式服务. 3.值栈包括Map栈和对象栈,值栈通过ActionContext的getValueStack()方法来获取值栈,可是在通常情况下,向valuestack中压入值都是由Struts2去完毕的.而…
struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Action里直接获取请求(Request)或会话(Session)的一些信息, 甚至须要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们须要在Action中取得request请求參数"username"…
一. Package 标签 1. 标签属性:name        : 包的名称,只有在一个项目中不重名即可.extends       : 继承哪个包,默认为 struts-default.namespace  : 名称空间,与<action> 标签中的 name 属性决定访问路径    - 名称空间写法:         - 带名称的: namespace="/a"        - 不带名称: namespace="/"        - 默认空间…
获取web资源的方式按是否与servlet耦合可分为两种,再细分按照依赖方式又有两种即 依赖容器 和  依赖注入 什么是依赖容器 就是依赖  ActionContext或者ServletActionContext容器获得web元素 什么是依赖注入 IoC(inverse of control)控制反转=dependence injection  依赖注入 是针对web元素(也叫web资源)如  request.session.application这三者的访问. 实现RequestAware.R…