下面是这个方法的源代码,我的理解是通过工厂方法返回一个RunData对象,RunData对象是在整个框架中起到参数和信息传输的作用。public static RunData getRunData(HttpServletRequest req, HttpServletResponse res, ServletConfig config)
throws TurbineException, IllegalArgumentException
{
if(req == null || res == null || config == null)
throw new IllegalArgumentException("RunDataFactory fatal error: HttpServletRequest, HttpServletResponse or ServletConfig were null.");
if(!tryRunDataService)
break MISSING_BLOCK_LABEL_50;
return TurbineRunDataFacade.getRunData(req, res, config);
Exception x;
x;
log.info("No Run Data Service available, not trying again!");
tryRunDataService = false;
TurbineRunData data = (TurbineRunData)TurbinePool.getInstance(class$org$apache$turbine$services$rundata$DefaultTurbineRunData != null ? class$org$apache$turbine$services$rundata$DefaultTurbineRunData : (class$org$apache$turbine$services$rundata$DefaultTurbineRunData = class$("org.apache.turbine.services.rundata.DefaultTurbineRunData")));
data.setRequest(req);
data.setResponse(res);
String contextPath = req.getContextPath();
String scriptName = contextPath + data.getRequest().getServletPath();
data.setCookieParser(new DefaultCookieParser());
data.setParameterParser(new DefaultParameterParser());
data.setSession(data.getRequest().getSession(true));
data.setServletConfig(config);
data.setServerData(new ServerData(data.getRequest().getServerName(), data.getRequest().getServerPort(), data.getRequest().getScheme(), scriptName, contextPath));
return data;
}
throws TurbineException, IllegalArgumentException
{
if(req == null || res == null || config == null)
throw new IllegalArgumentException("RunDataFactory fatal error: HttpServletRequest, HttpServletResponse or ServletConfig were null.");
if(!tryRunDataService)
break MISSING_BLOCK_LABEL_50;
return TurbineRunDataFacade.getRunData(req, res, config);
Exception x;
x;
log.info("No Run Data Service available, not trying again!");
tryRunDataService = false;
TurbineRunData data = (TurbineRunData)TurbinePool.getInstance(class$org$apache$turbine$services$rundata$DefaultTurbineRunData != null ? class$org$apache$turbine$services$rundata$DefaultTurbineRunData : (class$org$apache$turbine$services$rundata$DefaultTurbineRunData = class$("org.apache.turbine.services.rundata.DefaultTurbineRunData")));
data.setRequest(req);
data.setResponse(res);
String contextPath = req.getContextPath();
String scriptName = contextPath + data.getRequest().getServletPath();
data.setCookieParser(new DefaultCookieParser());
data.setParameterParser(new DefaultParameterParser());
data.setSession(data.getRequest().getSession(true));
data.setServletConfig(config);
data.setServerData(new ServerData(data.getRequest().getServerName(), data.getRequest().getServerPort(), data.getRequest().getScheme(), scriptName, contextPath));
return data;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货