HttpServletResponse, HttpServletRequest, HttpSession, ServletContext

MLでもたまに上記オブジェクトを取りにいったりする事を見かけるので
今更ながらメモ程度に書いておきます。
例えばActionクラス内で上記オブジェクトを使いたくなった場合
(web.xmlの値を取得したい、CSVダウンロード処理をしたい等)
Actionクラスに以下を記述しておくと、コンテナが勝手に設定してくれます。

private HttpServletResponse response;
private HttpServletRequest request;
private HttpSession session;
private ServletContext servletContext;
public void setResponse(HttpServletResponse response){
    response = response;
}
public void setRequest(HttpServletRequest request){
    request = request;
}
public void setSession(HttpSession session){
    session = session;
}
public void setServletContext(ServletContext servletContext){
    servletContext = servletContext;
}

hogeアクションメソッド内でダウンロード処理の為にContentTypeを設定したいなんて時は

public String hoge(){
    response.setContentType("application/pdf");
    return null;
}

あっという間にresponseオブジェクトが使えます。