08/07/12 07:58:43
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
public ActionForward select (ActionMapping map,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res ) throws Exception{
DBManagement dbManager = new DBManagement();
ArrayList alTask = new ArrayList();
ServletContext scContext = servlet.getServletContext();
DataSource dsSource =(DataSource) scContext.getAttribute(Globals.DATA_SOURCE_KEY);
alTask = dbManager.selectData(dsSource);
req.setAttribute("input", alTask.toArray());
return map.findForward("index");
}
上記のコードがあります。selectメソッドの5行目や6行目では、newを使ってインスタンスを生成しています
が、次の行のservlet.getServletContext();ではインスタンスを生成しなくてもいきなり
servlet.getServletContext();という風にgetServletContext() メソッドを使えています。これは何故でしょうか?
ぐぐってもわからなかったので、ご教授いただければ幸いです。 どうぞ宜しくお願い致します。