Struts2中对Servlet API的访问
来源:互联网 发布:国外的即时通讯软件 编辑:程序博客网 时间:2024/04/27 05:11
1 通过接口进行对象注入,action必须是实现相应的接口,struts就可以将指定的对象传递给action类
ServletContextAware接口:可以获得ServletContext对象
ServletResponseAware接口:可以获得ServletResponse对象
ServletRequestAware接口:可以获得ServletRequest对象
request.getSession获得session对象
public class ServletAction extends ActionSupport implements ServletRequestAware{ private HttpServletRequest request; @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public String execute() throws Exception { System.out.println(request.getContextPath()); return SUCCESS; } }
执行结果:
2 ServletActionContext 工具类,struts 的action类中获得servlet的api
获得servlet 对象,可以操作域数据,可以调用其他api
HttpServletRequest ServletActionContext.getRequest();
HttpSession ServletActionContext.getRequest().getSession();
ServletContext ServletActionContext.getServletContext();
public class ServletAction extends ActionSupport { @Override public String execute() throws Exception { ServletActionContext.getResponse(); ServletActionContext.getRequest().setAttribute("sac", "ServletActionContext_request"); ServletActionContext.getRequest().getSession().setAttribute("sac", "ServletActionContext_session"); ServletActionContext.getServletContext().setAttribute("sac", "ServletActionContext_application"); return SUCCESS; }}
jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <h3>获得3作用域内容 -- ServletActionContext</h3> ${requestScope.sac} <br/> ${sessionScope.sac} <br/> ${applicationScope.sac} <br/> </body></html>
执行结果:
3 通过Action上下文对象ActionContext,可以间接对servlet 域数据进行操作,实现了解耦,不依赖于servlet api
获得ActionContext实例:ActionContext.getContext()
间接操作域数据
public class ServletAction extends ActionSupport { @Override public String execute() throws Exception { ActionContext.getContext().put("ac", "ActionContext_request"); ActionContext.getContext().getSession().put("ac", "ActionContext_session"); ActionContext.getContext().getApplication().put("ac", "ActionContext_application"); return SUCCESS; }}
jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <h3>获得3作用域内容-- ActionContext</h3> ${requestScope.ac} <br/> ${sessionScope.ac} <br/> ${applicationScope.ac} <br/> </body></html>
执行结果:
0 0
- Struts2中对Servlet API的访问
- struts2访问servlet的API
- Struts2中Action访问Servlet API的两种方法
- Struts2中Action访问Servlet API的两种方法
- Struts2中Action访问Servlet API的三种方法
- Struts2中Action访问Servlet API的三种方法
- Struts2中Action访问Servlet API的两种方法
- struts2中,action访问servlet api的两种方式
- struts2中访问servlet API的一些方法
- struts2中访问servlet API 的方法以及优劣性
- Struts2中Action访问Servlet API的三种方法
- Struts2中Action访问Servlet API的三种方法
- Struts2中Action访问Servlet API的三种方法
- Struts2中访问Servlet API的几种方式
- Struts2在动作类中访问Servlet的API
- struts2框架在动作类中访问servlet的api
- Struts2中Action访问Servlet API总结
- struts2中耦合访问servlet- API
- 数据库——由ER图转换为关系映射的方法
- ftp服务器搭建
- python简介
- JNI、NDK相关技术学习及使用方法
- 出现 command not found,怎么办???
- Struts2中对Servlet API的访问
- Acegi (Spring Security)入门
- ARM基础学习-Cache和写缓冲器
- jQuery中this与$(this)的区别总结
- express框架响应对象res的方法
- 大小端模式
- c# 正则表达式
- csu 1812(半平面交求面积)
- POJ-2376 Cleaning Shifts