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();

原文地址:https://www.cnblogs.com/keyi/p/6237040.html