在Struts2中,經過IoC方式將Servlet對象主入到Action中,具體實現是由一組接口決定的。要採用IoC方式就必須在Action中實現如下接口:java
ApplicationAware:以Map類型向Action注入保存在ServletContext中的Attribute集合session
SessionAware:以Map類型向Action注入保存在HttpSession中的Attribute集合app
CookieAware:以Map類型向Action注入Cookie中的數據集合this
ParameterAware:向Action中注入請求參數集合spa
ServletRequestAware:實現該接口的Action能夠直接訪問HttpServletRequest對象,Action必須實現該接口的void setServletRequest(HttpServletRequest request)方法。code
ServletResponseAware:實現該接口的Action能夠直接訪問HttpServletResponse對象,Action必須實現該接口的void setServletResponse(HttpServletResponse response)方法。對象
ServletContextAware:實現該接口的Action能夠直接訪問ServletContext對象,Action必須實現該接口的void setServletContext(ServletContext context)方法。接口
public void setServletRequest(HttpServeltRequest request){ this.request=request;//獲取request對象 this.session=request.getSession();//獲取Session對象 this.application=session.getServletContext();//獲取application對象 }