📄 actionservlet.java
字号:
configDigester = new Digester();
configDigester.setNamespaceAware(true);
configDigester.setValidating(validating);
configDigester.setUseContextClassLoader(true);
configDigester.addRuleSet(new ConfigRuleSet());
for(int i = 0; i < registrations.length; i += 2)
{
URL url = getClass().getResource(registrations[i + 1]);
if(url != null)
configDigester.register(registrations[i], url.toString());
}
String rulesets = getServletConfig().getInitParameter("rulesets");
if(rulesets == null)
rulesets = "";
rulesets = rulesets.trim();
String ruleset = null;
while(rulesets.length() > 0)
{
int comma = rulesets.indexOf(",");
if(comma < 0)
{
ruleset = rulesets.trim();
rulesets = "";
}
else
{
ruleset = rulesets.substring(0, comma).trim();
rulesets = rulesets.substring(comma + 1).trim();
}
if(log.isDebugEnabled())
log.debug("Configuring custom Digester Ruleset of type " + ruleset);
try
{
RuleSet instance = (RuleSet)RequestUtils.applicationInstance(ruleset);
configDigester.addRuleSet(instance);
}
catch(Exception e)
{
log.error("Exception configuring custom Digester RuleSet", e);
throw new ServletException(e);
}
}
return configDigester;
}
protected void initDataSources()
throws ServletException
{
}
protected void initInternal()
throws ServletException
{
try
{
internal = MessageResources.getMessageResources(internalName);
}
catch(MissingResourceException e)
{
log.error("Cannot load internal resources from '" + internalName + "'", e);
throw new UnavailableException("Cannot load internal resources from '" + internalName + "'");
}
}
protected void initOther()
throws ServletException
{
String value = null;
value = getServletConfig().getInitParameter("config");
if(value != null)
config = value;
value = getServletConfig().getInitParameter("debug");
if(value != null)
try
{
debug = Integer.parseInt(value);
}
catch(NumberFormatException e)
{
debug = 0;
}
value = getServletConfig().getInitParameter("convertNull");
if("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value) || "y".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value))
convertNull = true;
if(convertNull)
{
ConvertUtils.deregister();
ConvertUtils.register(new BigDecimalConverter(null), class$java$math$BigDecimal != null ? class$java$math$BigDecimal : (class$java$math$BigDecimal = class$("java.math.BigDecimal")));
ConvertUtils.register(new BigIntegerConverter(null), class$java$math$BigInteger != null ? class$java$math$BigInteger : (class$java$math$BigInteger = class$("java.math.BigInteger")));
ConvertUtils.register(new BooleanConverter(null), class$java$lang$Boolean != null ? class$java$lang$Boolean : (class$java$lang$Boolean = class$("java.lang.Boolean")));
ConvertUtils.register(new ByteConverter(null), class$java$lang$Byte != null ? class$java$lang$Byte : (class$java$lang$Byte = class$("java.lang.Byte")));
ConvertUtils.register(new CharacterConverter(null), class$java$lang$Character != null ? class$java$lang$Character : (class$java$lang$Character = class$("java.lang.Character")));
ConvertUtils.register(new DoubleConverter(null), class$java$lang$Double != null ? class$java$lang$Double : (class$java$lang$Double = class$("java.lang.Double")));
ConvertUtils.register(new FloatConverter(null), class$java$lang$Float != null ? class$java$lang$Float : (class$java$lang$Float = class$("java.lang.Float")));
ConvertUtils.register(new IntegerConverter(null), class$java$lang$Integer != null ? class$java$lang$Integer : (class$java$lang$Integer = class$("java.lang.Integer")));
ConvertUtils.register(new LongConverter(null), class$java$lang$Long != null ? class$java$lang$Long : (class$java$lang$Long = class$("java.lang.Long")));
ConvertUtils.register(new ShortConverter(null), class$java$lang$Short != null ? class$java$lang$Short : (class$java$lang$Short = class$("java.lang.Short")));
}
}
protected void initServlet()
throws ServletException
{
InputStream input;
Exception exception;
servletName = getServletConfig().getServletName();
Digester digester = new Digester();
digester.push(this);
digester.setNamespaceAware(true);
digester.setValidating(false);
for(int i = 0; i < registrations.length; i += 2)
{
URL url = getClass().getResource(registrations[i + 1]);
if(url != null)
digester.register(registrations[i], url.toString());
}
digester.addCallMethod("web-app/servlet-mapping", "addServletMapping", 2);
digester.addCallParam("web-app/servlet-mapping/servlet-name", 0);
digester.addCallParam("web-app/servlet-mapping/url-pattern", 1);
if(log.isDebugEnabled())
log.debug("Scanning web.xml for controller servlet mapping");
input = getServletContext().getResourceAsStream("/WEB-INF/web.xml");
try
{
digester.parse(input);
}
catch(IOException e)
{
log.error(internal.getMessage("configWebXml"), e);
throw new ServletException(e);
}
catch(SAXException e)
{
log.error(internal.getMessage("configWebXml"), e);
throw new ServletException(e);
}
finally
{
if(input == null) goto _L0; else goto _L0
}
if(input != null)
try
{
input.close();
}
catch(IOException e)
{
log.error(internal.getMessage("configWebXml"), e);
throw new ServletException(e);
}
break MISSING_BLOCK_LABEL_313;
try
{
input.close();
}
catch(IOException e)
{
log.error(internal.getMessage("configWebXml"), e);
throw new ServletException(e);
}
throw exception;
if(log.isDebugEnabled())
log.debug("Mapping for servlet '" + servletName + "' = '" + servletMapping + "'");
if(servletMapping != null)
getServletContext().setAttribute("org.apache.struts.action.SERVLET_MAPPING", servletMapping);
return;
}
protected void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
RequestUtils.selectModule(request, getServletContext());
getRequestProcessor(getModuleConfig(request)).process(request, response);
}
private void defaultControllerConfig(ModuleConfig config)
{
String value = null;
ControllerConfig cc = config.getControllerConfig();
value = getServletConfig().getInitParameter("bufferSize");
if(value != null)
cc.setBufferSize(Integer.parseInt(value));
value = getServletConfig().getInitParameter("content");
if(value != null)
cc.setContentType(value);
value = getServletConfig().getInitParameter("locale");
if(value != null)
if("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value))
cc.setLocale(true);
else
cc.setLocale(false);
value = getServletConfig().getInitParameter("maxFileSize");
if(value != null)
cc.setMaxFileSize(value);
value = getServletConfig().getInitParameter("nocache");
if(value != null)
if("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value))
cc.setNocache(true);
else
cc.setNocache(false);
value = getServletConfig().getInitParameter("multipartClass");
if(value != null)
cc.setMultipartClass(value);
value = getServletConfig().getInitParameter("tempDir");
if(value != null)
cc.setTempDir(value);
}
private void defaultFormBeansConfig(ModuleConfig config)
{
FormBeanConfig fbcs[] = config.findFormBeanConfigs();
ActionFormBeans afb = new ActionFormBeans();
afb.setFast(false);
for(int i = 0; i < fbcs.length; i++)
afb.addFormBean((ActionFormBean)fbcs[i]);
afb.setFast(true);
getServletContext().setAttribute("org.apache.struts.action.FORM_BEANS", afb);
}
private void defaultForwardsConfig(ModuleConfig config)
{
org.apache.struts.config.ForwardConfig fcs[] = config.findForwardConfigs();
ActionForwards af = new ActionForwards();
af.setFast(false);
for(int i = 0; i < fcs.length; i++)
af.addForward((ActionForward)fcs[i]);
af.setFast(true);
getServletContext().setAttribute("org.apache.struts.action.FORWARDS", af);
}
private void defaultMappingsConfig(ModuleConfig config)
{
org.apache.struts.config.ActionConfig acs[] = config.findActionConfigs();
ActionMappings am = new ActionMappings();
am.setServlet(this);
am.setFast(false);
for(int i = 0; i < acs.length; i++)
am.addMapping((ActionMapping)acs[i]);
am.setFast(true);
getServletContext().setAttribute("org.apache.struts.action.MAPPINGS", am);
}
private void defaultMessageResourcesConfig(ModuleConfig config)
{
String value = null;
MessageResourcesConfig mrc = config.findMessageResourcesConfig("org.apache.struts.action.MESSAGE");
if(mrc == null)
{
mrc = new MessageResourcesConfig();
mrc.setKey("org.apache.struts.action.MESSAGE");
config.addMessageResourcesConfig(mrc);
}
value = getServletConfig().getInitParameter("application");
if(value != null)
mrc.setParameter(value);
value = getServletConfig().getInitParameter("factory");
if(value != null)
mrc.setFactory(value);
value = getServletConfig().getInitParameter("null");
if(value != null)
if(value.equalsIgnoreCase("true") || value.equalsIgnoreCase("yes"))
mrc.setNull(true);
else
mrc.setNull(false);
}
static Class class$(String x0)
{
return Class.forName(x0);
ClassNotFoundException x1;
x1;
throw new NoClassDefFoundError(x1.getMessage());
}
static
{
log = LogFactory.getLog(class$org$apache$struts$action$ActionServlet != null ? class$org$apache$struts$action$ActionServlet : (class$org$apache$struts$action$ActionServlet = class$("org.apache.struts.action.ActionServlet")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -