获取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
- Map<String, Object> request = (Map)ActionContext.getContext().get("request");
- 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();