使用ServletActionContext訪問Servlet API
action訪問Servlet API,通過ruquest、session、applicplition去訪問Servlet API。
web應用中同城需要訪問的servletAPI就是HTTPservletRequest、httpsession和servletContext
這三個接口分別代表JSP中內置對象中的request、session、application
Struts 2 提供了一個actionContent類,Struts 2的action可以通過該類來訪問ServletAPI
爲了能夠直接訪問Servlet API,struts 2 還提供了一個ServletAction工具類,這個類包含了如下幾個靜態方法
返回值 | 方法名 | 功能描述 |
HttpServletRequest | getRequest() | 獲得Web應用的HttpServletRequest對象 |
HttpServletResponse | getResponse() | 獲得Web應用的HttpservletResponse對象 |
ServletContext | getServletContext() | 獲得Web應用的ServletContext對象 |
PageContext | getServletContext() | 獲得Web應用的ServletContext對象 |
藉助於ServletActionContext工具類的幫助,Action能以更加簡單的方式來訪問Servlet API。
public class BaAction extends ActionSupport implements SessionAware,RequestAware { @Override public void setSession(Map<String, Object> session) { this.session = session; httpRequest = ServletActionContext.getRequest(); context = httpRequest.getSession().getServletContext(); response = ServletActionContext.getResponse(); } }