至于为何会如此,可以看以下博客: 刨根问底–struts–获得request-继承ServletRequestAware 目前对于初学者,这个问题并没有具体的博客教如何配置,浪费了不少时间解决这个问题。
ServletActionContext.getRequest().getSession() 直接获取 ServletContext 对象 ServletActionContext.getServletContext() 通过实现 ServletRequestAware...javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts2.interceptor.ServletRequestAware...org.apache.struts2.util.ServletContextAware; /* * 通过实现ServletXXXAware 接口的方式可以由Struts2 注入需要的Servlet相关的对象 * * ServletRequestAware...ServletResponseAware:注入HttpServletResponse 对象 * */ public class ServletXXXAwareTest implements ServletContextAware,ServletRequestAware
基本的Action类,实现了ServletRequestAware,ServletResponseAware 接口,并重写了相对应的方法。...javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware...ActionSupport; @SuppressWarnings("serial") public class BaseAction extends ActionSupport implements ServletRequestAware
Servlet API中常用对象application、request、response、Session对应的Aware接口分别为ServletContextAware、ServletRequestAware...package com.helloweenvsfei.struts2.action; import org.apache.struts2.interceptor.ServletRequestAware...util.ServletContextAware; public class ServletAwareAction extends ActionSupport implements ServletRequestAware...session.get("account"); // 使用Session return Action.SUCCESS; } } 实现了ServletRequestAware
request、session、application的了,Struts2有4种方式获取web对象 1.通过ServletActionContext取HttpServletRequest对象 2.通过ServletRequestAware...Action.SUCCESS; } @Override public Student getModel() { student =new Student(); return student; } } 二、通过ServletRequestAware...javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware...com.opensymphony.xwork2.ModelDriven; public class StudentAction2 extends ActionSupport implements ModelDriven ,ServletRequestAware...javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware
session.getServletContext(); 比如使用request :request.setAttribute("name",name); 方法四:获取httpServlet类型的,实现ServletRequestAware...接口 public class LoginAction extends ActionSupport implements ServletRequestAware{ private HttpServletRequest
actionCount); ++actionCount; application.put("a3", "Two"+actionCount); } } 第二种方式是实现ServletRequestAware...javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.interceptor.ServletRequestAware...com.opensymphony.xwork2.ActionSupport; public class MyWinAction3 extends ActionSupport implements ServletRequestAware
或者让Action实现ServletRequestAware接口,并使用ServletConfigInterceptor拦截器,这样这个拦截器就会注入HttpServletRequest。...person); requestMap.put(“person”, person); // 其他代码 // …… return SUCCESS; } } Java代码 // 本类将演示在Action中使用ServletRequestAware...HttpServletRequest(注意:要使用ServletConfigInterceptor拦截器) publicclass MyAction extends ActionSupport implements ServletRequestAware...{ private HttpServletRequest request; //此方法是接口ServletRequestAware的方法 publicvoid setServletRequest(...Exception { // HttpServletRequest已在该类的字段中准备好,可直接使用 // …… return SUCCESS; } } Java代码 // 本类将演示在Action中使用ServletRequestAware
javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware...模拟登录,并返回json数据 @author xiangzhihong */ public class LoginAction extends ActionSupport implements ServletRequestAware
API 用ServletActionContext获取原生Servlet的API,就不仅能获取其中的数据参数,还能使用本来的方法 04 接口注入 通过接口注入的方式获取Servlet原生API,除了下面的ServletRequestAware
实现一些特定接口的方式,通过实现如ServletRequestAware、ServletResponseAware、ServletContextAware等接口来获取。
SUCCESS; } } import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2.interceptor.ServletRequestAware...java.util.Map; /** * 访问Servlet的API方式三:接口注入的方式 */ public class RequestDemo3 extends ActionSupport implements ServletRequestAware
; } return Action.LOGIN; } 2.3 通过实现接口的方式来获取 public class UserAction4 implements ServletRequestAware
,"app石榴"); return SUCCESS; } } 1.2.1.2 方式二: 实现特定接口的方式实现: 在struts中提供了一些接口 : ServletRequestAware...* @author jt * */ public class RequestDemo2Action extends ActionSupport implements ServletRequestAware...对象的获取 注意:只能接受操作页面参数,以及操作域中的数据 不能获取到域对象,也不能做响应(response对象也获取不到) 3 通过特定的接口来实现 ServletRequestAware
接口名 功能 ServletRequestAware 实现该接口的Action类可访问Web应用的HttpservletRequest对象 ServletResponseAware 实现该接口的Action...cc.wenshixin.action; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.interceptor.ServletRequestAware...com.opensymphony.xwork2.ActionSupport; public class ActionWithAware extends ActionSupport implements ServletRequestAware
访问ServletAPI ServletActionContext 实现接口 ServletRequestAware,ServletResponseAware ,ServletContextAware
Struts2 的Servlet*Aware 拦截器 这种方式要求Action继承org.apache.struts2.interceptor中对应的对象,如:HttpServletResponse对象、ServletRequestAware
为了在 Action中直接访问 Servlet API,Struts2还提供了一系列接口,具体如下: ● ServletRequestAware:实现该接口的 Action可以直接访问Web应用的...下面以 ServletRequestAware为例,讲解如何在 Action中访问 HttpServletRequest 实例: (1)在src目录下的com.Kevin.form包中创建一个form3Action...javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware...import com.opensymphony.xwork2.ActionSupport; public class form3Action extends ActionSupport implements ServletRequestAware
Action类的污染实在太严重了,这个是不推荐使用的,可以了解一下 可以实现的接口 ServletContextAware实现该接口的Action可以直接访问用户请求的ServletContext实例 ServletRequestAware
领取专属 10元无门槛券
手把手带您无忧上云