Struts2对常用Servlet对象的获取
2014-11-16 16:41
253 查看
1.Strust2获取Servlet常用对象有两种方式。
方式一:通过ServletActionContext类来获取Servlet常用对象。
方式二:通过实现接口,例如ServletContextAware,ServletRequestAware,ServletResponseAware
例子:
第一步:struts.xml中添加
第二步:web.jsp(没有用到,里面随意写)
第三步:编写WebObjectAction类
2.在域对象中存取值。
用简单的例子操作:
第一步:在struts.xml文件中,定义一个package和action
第二步建scope.jsp
第三步编写ScopeAction类
方式一:通过ServletActionContext类来获取Servlet常用对象。
方式二:通过实现接口,例如ServletContextAware,ServletRequestAware,ServletResponseAware
例子:
第一步:struts.xml中添加
<package name="webObj" namespace="/webObj" extends="mypackage"> <action name="webAction1" class="cn.hhtc.action.WebObjectAction" method="execute2"> <result name="success">/web.jsp</result> </action> </package>
第二步:web.jsp(没有用到,里面随意写)
第三步:编写WebObjectAction类
package cn.hhtc.action; import java.io.Serializable; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.PageContext; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; public class WebObjectAction extends ActionSupport implements Serializable,ServletContextAware,ServletRequestAware,ServletResponseAware { private ServletContext context; private HttpServletRequest request; private HttpServletResponse response; //方式一 public String execute1() { ServletContext sc = ServletActionContext.getServletContext(); System.out.println("application ="+sc); HttpServletRequest request = ServletActionContext.getRequest(); System.out.println("request ="+request); HttpServletResponse response = ServletActionContext.getResponse(); System.out.println("response ="+response); return SUCCESS; } //方式二 public String execute2() { System.out.println(context); System.out.println(request); System.out.println(response); return SUCCESS; } public void setServletContext(ServletContext context) { this.context = context; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public void setServletResponse(HttpServletResponse response) { this.response = response; } }
2.在域对象中存取值。
用简单的例子操作:
第一步:在struts.xml文件中,定义一个package和action
<!-- 各大域对象 --> <package name="scope" namespace="/scope" extends="mypackage"> <action name="ScopeAction" class="cn.hhtc.action.ScopeAction" method="execute"> <result name="success">/scope.jsp</result> </action> </package>
第二步建scope.jsp
<body> application: ${applicationScope.p }<br/> session: ${sessionScope.p }<br/> request: ${requestScope.p } </body>
第三步编写ScopeAction类
import java.io.Serializable; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class ScopeAction extends ActionSupport implements Serializable { @Override public String execute() throws Exception { ActionContext ac = ActionContext.getContext(); Map<String, Object> applicationMap = ac.getApplication(); applicationMap.put("p", "application p"); //application.setAttribute(); Map<String, Object> sessionMap = ac.getSession(); sessionMap.put("p", "session p"); //session.setAtrribute(); ac.put("p", "request p");//相当于 request.setAtrribute(); return SUCCESS; } }
相关文章推荐
- struts2中ServletActionContext与ActionContext区别及获取Servlet对象方法
- struts2 如何获取servlet对象
- Struts2和Servlet共用时获取ServletContext对象的问题
- Struts2的Action中获取HttpServletRequest对象
- Struts2的Action获取ServletConfig对象的解决方案
- struts2_04 常见servlet对象的获取,文件上传
- Struts2获取servlet的内置对象和struts2的通配符
- Struts2的Action获取ServletConfig对象的解决方案
- 页面使用struts2标签获取List中的对象属性值,Struts2常用标签总结
- Struts2的Action获取ServletConfig对象的解决方案
- Struts2中获取request,session,application对象
- struts2获得servlet对象的2种方式
- Structs2中利用ServletActionContext静态方法获取resposne、request等对象
- struts2中获取request,session,application等属性范围对象
- As中获取对象类名的常用方法
- 通过struts2标签在jsp获取对象属性失败,这是bug?
- servlet构造response,以及获取RequestDispatcher对象
- Struts2_Action获取Scope对象
- struts2----获取的scope对象的4种方式
- SharePoint 2010 各个常用级别对象的获取