package org.g4studio.core.mvc.xstruts.action;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.MissingResourceException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.beanutils.converters.BigDecimalConverter;
import org.apache.commons.beanutils.converters.BigIntegerConverter;
import org.apache.commons.beanutils.converters.BooleanConverter;
import org.apache.commons.beanutils.converters.ByteConverter;
import org.apache.commons.beanutils.converters.CharacterConverter;
import org.apache.commons.beanutils.converters.DoubleConverter;
import org.apache.commons.beanutils.converters.FloatConverter;
import org.apache.commons.beanutils.converters.IntegerConverter;
import org.apache.commons.beanutils.converters.LongConverter;
import org.apache.commons.beanutils.converters.ShortConverter;
import org.apache.commons.chain.CatalogFactory;
import org.apache.commons.chain.config.ConfigParser;
import org.apache.commons.digester.Digester;
import org.apache.commons.digester.RuleSet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.g4studio.core.mvc.xstruts.Globals;
import org.g4studio.core.mvc.xstruts.config.ActionConfig;
import org.g4studio.core.mvc.xstruts.config.ConfigRuleSet;
import org.g4studio.core.mvc.xstruts.config.ExceptionConfig;
import org.g4studio.core.mvc.xstruts.config.FormBeanConfig;
import org.g4studio.core.mvc.xstruts.config.FormPropertyConfig;
import org.g4studio.core.mvc.xstruts.config.ForwardConfig;
import org.g4studio.core.mvc.xstruts.config.MessageResourcesConfig;
import org.g4studio.core.mvc.xstruts.config.ModuleConfig;
import org.g4studio.core.mvc.xstruts.config.ModuleConfigFactory;
import org.g4studio.core.mvc.xstruts.config.PlugInConfig;
import org.g4studio.core.mvc.xstruts.util.MessageResources;
import org.g4studio.core.mvc.xstruts.util.MessageResourcesFactory;
import org.g4studio.core.mvc.xstruts.util.ModuleUtils;
import org.g4studio.core.mvc.xstruts.util.RequestUtils;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class ActionServlet extends HttpServlet {
/**
* <p>
* Commons Logging instance.
* </p>
*
* @since Struts 1.1
*/
protected static Log log = LogFactory.getLog(ActionServlet.class);
// ----------------------------------------------------- Instance Variables
/**
* <p>
* Comma-separated list of context-relative path(s) to our configuration
* resource(s) for the default module.
* </p>
*/
protected String config = "/WEB-INF/struts-config.xml";
/**
* <p>
* Comma-separated list of context or classloader-relative path(s) that
* contain the configuration for the default commons-chain catalog(s).
* </p>
*/
protected String chainConfig = "org/g4studio/core/mvc/xstruts/chain/chain-config.xml";
/**
* <p>
* The Digester used to produce ModuleConfig objects from a Struts
* configuration file.
* </p>
*
* @since Struts 1.1
*/
protected Digester configDigester = null;
/**
* <p>
* The flag to request backwards-compatible conversions for form bean
* properties of the Java wrapper class types.
* </p>
*
* @since Struts 1.1
*/
protected boolean convertNull = false;
/**
* <p>
* The resources object for our internal resources.
* </p>
*/
protected MessageResources internal = null;
/**
* <p>
* The Java base name of our internal resources.
* </p>
*
* @since Struts 1.1
*/
protected String internalName = "org.g4studio.core.mvc.xstruts.action.ActionResources";
/**
* <p>
* The set of public identifiers, and corresponding resource names, for the
* versions of the configuration file DTDs that we know about. There
* <strong>MUST</strong> be an even number of Strings in this list!
* </p>
*/
protected String[] registrations = { "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN",
"/org/g4studio/core/mvc/xstruts/resources/struts-config_1_0.dtd",
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN",
"/org/g4studio/core/mvc/xstruts/resources/struts-config_1_1.dtd",
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN",
"/org/g4studio/core/mvc/xstruts/resources/struts-config_1_2.dtd",
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN",
"/org/g4studio/core/mvc/xstruts/resources/struts-config_1_3.dtd",
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN",
"/org/g4studio/core/mvc/xstruts/resources/web-app_2_3.dtd" };
/**
* <p>
* The URL pattern to which we are mapped in our web application deployment
* descriptor.
* </p>
*/
protected String servletMapping = null; // :FIXME: - multiples?
/**
* <p>
* The servlet name under which we are registered in our web application
* deployment descriptor.
* </p>
*/
protected String servletName = null;
// ---------------------------------------------------- HttpServlet Methods
/**
* <p>
* Gracefully shut down this controller servlet, releasing any resources
* that were allocated at initialization.
* </p>
*/
public void destroy() {
if (log.isDebugEnabled()) {
log.debug(internal.getMessage("finalizing"));
}
destroyModules();
destroyInternal();
getServletContext().removeAttribute(Globals.ACTION_SERVLET_KEY);
// Release our LogFactory and Log instances (if any)
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
if (classLoader == null) {
classLoader = ActionServlet.class.getClassLoader();
}
try {
LogFactory.release(classLoader);
} catch (Throwable t) {
; // Servlet container doesn't have the latest version
// of commons-logging-api.jar installed
// :FIXME: Why is this dependent on the container's version of
// commons-logging? Shouldn't this depend on the version packaged
// with Struts?
/*
* Reason: LogFactory.release(classLoader); was added as an attempt
* to investigate the OutOfMemory error reported on Bugzilla #14042.
* It was committed for version 1.136 by craigmcc
*/
}
CatalogFactory.clear();
PropertyUtils.clearDescriptors();
}
/**
* <p>
* Initialize this servlet. Most of the processing has been factored into
* support methods so that you can override particular functionality at a
* fairly granular level.
* </p>
*
* @throws ServletException
* if we cannot configure ourselves correctly
*/
public void init() throws ServletException {
final String configPrefix = "config/";
final int configPrefixLength = configPrefix.length() - 1;
// Wraps the entire initialization in a try/catch to better handle
// unexpected exceptions and errors to provide better feedback
// to the developer
try {
initInternal();
initOther();
initServlet();
initChain();
getServletContext().setAttribute(Globals.ACTION_SERVLET_KEY, this);
initModuleConfigFactory();
// Initialize modules as needed
ModuleConfig moduleConfig = initModuleConfig("", config);
initModuleMessageResources(moduleConfig);
initModulePlugIns(moduleConfig);
initModuleFormBeans(moduleConfig);
initModuleForwards(moduleConfig);
initModuleExceptionConfigs(moduleConfig);
initModuleActions(moduleConfig);
moduleConfig.freeze();
Enumeration names = getServletConfig().getInitParameterNames();
while (names.hasMoreElements()) {
String name = (Str
没有合适的资源?快使用搜索试试~ 我知道了~
基于java+javaScript+css开发的泊车管理系统+源码(毕业设计&课程设计&项目开发)
共2000个文件
java:637个
gif:495个
js:186个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 100 浏览量
2024-05-16
21:44:31
上传
评论 1
收藏 63.32MB ZIP 举报
温馨提示
基于java+javaScript+css开发的泊车管理系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java+javaScript+css开发的泊车管理系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java+javaScript+css开发的泊车管理系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java+javaScript+css开发的泊车管理系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~
资源推荐
资源详情
资源评论
收起资源包目录
基于java+javaScript+css开发的泊车管理系统+源码(毕业设计&课程设计&项目开发) (2000个子文件)
.classpath 2KB
org.eclipse.wst.common.component 639B
org.eclipse.wst.jsdt.ui.superType.container 49B
ext-all.css 136KB
ext-all.css 131KB
ext-all.css 131KB
ext-all.css 131KB
ext-all.css 131KB
ext-all.css 131KB
ext-all.css 131KB
ext-all.css 131KB
ext-all-notheme.css 94KB
xtheme-gray.css 37KB
xtheme-blue.css 37KB
ux-all.css 17KB
uploadPanel.css 15KB
desktop.css 13KB
grid.css 10KB
form.css 10KB
button.css 8KB
panel.css 7KB
tabs.css 7KB
ext_icon.css 7KB
panel-reset.css 6KB
grid.css 6KB
GroupTab.css 6KB
toolbar.css 5KB
core.css 5KB
layout.css 5KB
date-picker.css 5KB
tree.css 4KB
htmleditorplugins.css 4KB
menu.css 4KB
window.css 3KB
tree.css 3KB
tabs.css 3KB
editor.css 3KB
resizable.css 3KB
date-picker.css 3KB
statusbar.css 3KB
toolbar.css 3KB
qtips.css 3KB
form.css 2KB
button.css 2KB
panel.css 2KB
slider.css 2KB
window.css 2KB
menu.css 2KB
resizable.css 2KB
core.css 2KB
list-view.css 1KB
RowEditor.css 1KB
box.css 1KB
box.css 1KB
ext_css_patch.css 1KB
Spinner.css 1KB
ColumnNodeUI.css 1KB
Spinner.css 1KB
layout.css 1KB
g4studio.css 1KB
qtips.css 1KB
dialog.css 1KB
GridFilters.css 1KB
treegrid.css 1KB
borders.css 1KB
dd.css 1004B
debug.css 915B
combo.css 887B
Ext.ux.grid.GridSummary.css 871B
dialog.css 809B
combo.css 785B
list-view.css 774B
progress.css 757B
MultiSelect.css 688B
Portal.css 688B
dd.css 636B
slider.css 633B
progress.css 623B
fileuploadfield.css 581B
debug.css 552B
GroupSummary.css 546B
borders.css 530B
LockingGridView.css 529B
debug.css 488B
reset.css 463B
reset-min.css 463B
PanelResizer.css 458B
RangeMenu.css 399B
htmleditor.css 378B
editor.css 301B
CenterLayout.css 289B
ColumnHeaderGroup.css 245B
Thumbs.db 183KB
Thumbs.db 73KB
Thumbs.db 46KB
Thumbs.db 46KB
Thumbs.db 42KB
Thumbs.db 39KB
Thumbs.db 36KB
Thumbs.db 33KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
梦回阑珊
- 粉丝: 3441
- 资源: 1073
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功