首页 > 学院 > 开发设计 > 正文

Struts2学习笔记(五)——Action访问Servlet API

2019-11-15 00:53:48
字体:
来源:转载
供稿:网友
Struts2学习笔记(五)——Action访问Servlet API

在Strut2中访问Servlet API有三种方式:

1、通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API。

步骤:1).创建一个ActionContext

  • ActionContext context=ActionContext.getContext();

2).通过context对象获取Servlet API

  • Map<String,Object> getapplication() 获取的是application中存储的所有信息
  • Map<String,Object> getParameters() 相当于 request.getParameterMap();
  • Map<String,Object> getsession(); 获取的是session中存储的所有信息.
  • put(String key,Object value); 就相当于request.setAttribute();
  • Object get(String key) 就相当于request.getAttribute();

2、通过注入方式(真正的Servlet API)

通过实现*Aware接口获得Servlet API,比如:

  • ServletContextAware : 注入ServletContext对象
  • ServletRequestAware :注入 request对象
  • ServletResponseAware : 注入response对象

比如获取HttpServletRequest对象:

 1 public class TestAction extends ActionSupport implements ServletRequestAware { 2     HttpServletRequest request; 3     @Override 4     public String execute() { 5         request.setAttribute("name", "requestTest"); 6         return "success"; 7     } 8      9     @Override10     public void setServletRequest(HttpServletRequest request) {11         this.request = request;12     }13 14 }

3、通过ServletActionContext(真正的Servlet API)

通过ServletActionContext类中提供了静态方法可以直接获取ServletAPI:

1 //获取request2 HttpServletRequest request = ServletActionContext.getRequest();3 //获取session4 HttpSession session = request.getSession();5 //获取context6 ServletContext context = ServletActionContext.getServletContext();


上一篇:Ajax学习

下一篇:myeclipse快捷键使用

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表