Action直接访问Servlet
2016-03-02 17:35
267 查看
Struts2中直接访问Servlet有IoC和非IoC两种方式
IoC访问Servlet时Action实现类必须实现一些接口;非IoC访问Servlet时可使用Struts2提供的辅助类来访问
Action直接访问Servlet方式中提供的辅助类是ServletActionContext
1.IoC方式 在Action中实现以下接口
ServletRequestAware 实现该接口的Action可以直接访问request对象,该接口中提供有void setServletRequest(HttpServletRequest request)SevletResponseAware 实现该接口的Action可以直接访问response对象,该接口中提供有void setServletResponse(HttpServletResponse response)
SessionAware 实现该接口的Action可以直接访问session独享,该接口中提供有void setSession(Map map)方法
public class IoCAction extends ActionSupport implements ServletRequestAware{ private String userName; private String password; get,set private HttpServletRequest request; //必须实现该方法,该方法是接口中的方法 public void setServletrequest(HttpServletRequest hsr){ request=hsr; } public String execute() throws Exception { HttpSession session=request.getSession(); session.setAttribute("userName", this.userName); } }
2.非IoC方式 Struts2提供ServletActionContext类帮助获得Servlet
static getRequest() 获取web应用程序的request对象static getResponse() 获取web应用程序的response对象
public class NoIoCAction extends ActionSupport{ private String userName; private String password; get,set public String execute() throws Exception { //调用ServletActionContext的getRequest()方法获取request对象 HttpServletRequest request=ServletActionContext.getRequest(); //调用request对象的getSession()方法获取session对象 HttpSession session=request.getSession(); session.setAttribute("userName", this.userName); } }
相关文章推荐
- Android系统性能调优工具介绍
- iOS学习----------AFNetworking(2)request创建和请求参数的序列化
- iOS Https SSL认证 - AFNetWorking
- 设计模式理解(一)创建型——工厂、抽象工厂
- poj2528 Mayor's posters 2011-12-20
- Android移动端网络优化
- anjularjs弹出model(模态框)
- 解决bootstrap和jquey中的.button扩展冲突的问题。
- (十)桥接模式-代码实现
- 自我介绍及注册github和上传文件
- MySQL安装(图文详解)
- poj2777 Count Color 2011-12-20
- opencv查询最大轮廓
- iOS 数据存储
- 定制自己的日志工具
- 《Pedestrain detection in Infrared Images》
- 不得不了解的前端问题01(面试大典)--事件监听、继承、闭包、跨域、性能
- android项目导入v7
- 性能优化之Java(Android)代码优化
- jsp的9大隐式对象的使用总结