struts2获取web元素的方式和方法

 获取web资源的方式按是否与servlet耦合可分为两种,再细分按照依赖方式又有两种即

依赖容器 和  依赖注入

 

什么是依赖容器

就是依赖  ActionContext或者ServletActionContext容器获得web元素

 

 

什么是依赖注入

 

IoC(inverse of control)控制反转=dependence injection  依赖注入

 

是针对web元素(也叫web资源)如  request、session、application这三者的访问。

 

实现RequestAware、RessionAware、ApplicationAware或者ServletRequestAware、ServletRessionAware、ServletApplicationAware接口,要复写里面的get和set方法,传入的参数都是map类型。

 

常用方式为ioc的RequestAware、RessionAware、ApplicationAware的方式。

 

获取request、session、application的方式(依赖容器)

 

request

  1. Map<String, Object> request = (Map)ActionContext.getContext().get("request");  
  2. HttpServletRequest   request = ServletActionContext.getRequest();  

session

 

    1.Map<String,Object> session =  ActionContext.getContext().getSession();

    2.HttpSession session = ServletActionContext.getRequest().getSession();

 

application

 

    1.Map<String,Object> application=ActionContext.getContext();

    2.ServletContext   application=ServletActionContext.getRequest().getSession().getServletContext();

    3.ServletContext   application=ServletActionContext.getServletContext();

 

通过耦合servlet的依赖容器的方式

request--->session--->application

HttpServletRequest request;
HttpSession session;
ServletContext application;
request=ServletActionContext.getRequest();
session=request.getSession();
application=session.getServletContext();

 

上一篇:JAVA动态(可变)参数


下一篇:百万TPS高吞吐、秒级低延迟,阿里​搜索离线平台如何实现?