/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.catalina.core;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Stack;
import java.util.TreeMap;
import javax.management.AttributeNotFoundException;
import javax.management.ListenerNotFoundException;
import javax.management.MBeanNotificationInfo;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.Notification;
import javax.management.NotificationBroadcasterSupport;
import javax.management.NotificationEmitter;
import javax.management.NotificationFilter;
import javax.management.NotificationListener;
import javax.management.ObjectName;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionListener;
import org.apache.AnnotationProcessor;
import org.apache.catalina.Container;
import org.apache.catalina.ContainerListener;
import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Globals;
import org.apache.catalina.Host;
import org.apache.catalina.InstanceListener;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.Loader;
import org.apache.catalina.Manager;
import org.apache.catalina.Wrapper;
import org.apache.catalina.deploy.ApplicationParameter;
import org.apache.catalina.deploy.ErrorPage;
import org.apache.catalina.deploy.FilterDef;
import org.apache.catalina.deploy.FilterMap;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.deploy.MessageDestination;
import org.apache.catalina.deploy.MessageDestinationRef;
import org.apache.catalina.deploy.NamingResources;
import org.apache.catalina.deploy.SecurityCollection;
import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.loader.WebappLoader;
import org.apache.catalina.session.StandardManager;
import org.apache.catalina.startup.ContextConfig;
import org.apache.catalina.startup.TldConfig;
import org.apache.catalina.util.CharsetMapper;
import org.apache.catalina.util.DefaultAnnotationProcessor;
import org.apache.catalina.util.ExtensionValidator;
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.URLEncoder;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.naming.ContextBindings;
import org.apache.naming.resources.BaseDirContext;
import org.apache.naming.resources.DirContextURLStreamHandler;
import org.apache.naming.resources.FileDirContext;
import org.apache.naming.resources.ProxyDirContext;
import org.apache.naming.resources.WARDirContext;
import org.apache.tomcat.util.modeler.Registry;
/**
* Standard implementation of the <b>Context</b> interface. Each
* child container must be a Wrapper implementation to process the
* requests directed to a particular servlet.
*
* @author Craig R. McClanahan
* @author Remy Maucherat
* @version $Revision: 664494 $ $Date: 2008-06-08 14:49:50 +0200 (Sun, 08 Jun 2008) $
*/
public class StandardContext
extends ContainerBase
implements Context, Serializable, NotificationEmitter
{
private static transient Log log = LogFactory.getLog(StandardContext.class);
// ----------------------------------------------------------- Constructors
/**
* Create a new StandardContext component with the default basic Valve.
*/
public StandardContext() {
super();
pipeline.setBasic(new StandardContextValve());
broadcaster = new NotificationBroadcasterSupport();
}
// ----------------------------------------------------- Class Variables
/**
* The descriptive information string for this implementation.
*/
private static final String info =
"org.apache.catalina.core.StandardContext/1.0";
/**
* Array containing the safe characters set.
*/
protected static URLEncoder urlEncoder;
/**
* GMT timezone - all HTTP dates are on GMT
*/
static {
urlEncoder = new URLEncoder();
urlEncoder.addSafeCharacter('~');
urlEncoder.addSafeCharacter('-');
urlEncoder.addSafeCharacter('_');
urlEncoder.addSafeCharacter('.');
urlEncoder.addSafeCharacter('*');
urlEncoder.addSafeCharacter('/');
}
// ----------------------------------------------------- Instance Variables
/**
* The alternate deployment descriptor name.
*/
private String altDDName = null;
/**
* Annotation processor.
*/
private AnnotationProcessor annotationProcessor = null;
/**
* Associated host name.
*/
private String hostName;
/**
* The antiJARLocking flag for this Context.
*/
private boolean antiJARLocking = false;
/**
* The antiResourceLocking flag for this Context.
*/
private boolean antiResourceLocking = false;
/**
* The set of application listener class names configured for this
* application, in the order they were encountered in the web.xml file.
*/
private String applicationListeners[] = new String[0];
/**
* The set of instantiated application event listener objects</code>.
*/
private transient Object applicationEventListenersObjects[] =
new Object[0];
/**
* The set of instantiated application lifecycle listener objects</code>.
*/
private transient Object applicationLifecycleListenersObjects[] =
new Object[0];
/**
* The set of application parameters defined for this application.
*/
private ApplicationParameter applicationParameters[] =
new ApplicationParameter[0];
/**
* The application available flag for this Context.
*/
private boolean available = false;
/**
* The broadcaster that sends j2ee notifications.
*/
private NotificationBroadcasterSupport broadcaster = null;
/**
* The Locale to character set mapper for this application.
*/
private transient CharsetMapper charsetMapper = null;
/**
* The Java class name of the CharsetMapper class to be created.
*/
private String charsetMapperClass =
"org.apache.catalina.util.CharsetMapper";
/**
* The path to a file to save this Context information.
*/
private String configFile = null;
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
apache-tomcat-6.0.18源码 (1144个子文件)
web-app_2_3.dtd 29KB
XMLSchema.dtd 16KB
web-app_2_2.dtd 16KB
web-jsptaglibrary_1_2.dtd 12KB
datatypes.dtd 7KB
jspxml.dtd 6KB
web-jsptaglibrary_1_1.dtd 6KB
BodyTagProtocol.gif 5KB
TagProtocol.gif 4KB
IterationTagProtocol.gif 4KB
VariableInfo-1.gif 2KB
ELParser.html 9KB
package.html 4KB
package.html 4KB
package.html 4KB
package.html 3KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 2KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1KB
package.html 1006B
package.html 893B
package.html 888B
package.html 883B
StandardContext.java 162KB
Generator.java 158KB
WebdavServlet.java 109KB
Digester.java 86KB
Validator.java 78KB
WebappClassLoader.java 76KB
Node.java 73KB
DefaultServlet.java 71KB
Request.java 70KB
CGIServlet.java 69KB
Parser.java 66KB
ELParser.java 63KB
MBeanUtils.java 61KB
StandardWrapper.java 59KB
ProxyDirContext.java 59KB
ManagerServlet.java 58KB
DeltaManager.java 57KB
Http11NioProcessor.java 56KB
JNDIRealm.java 56KB
Http11AprProcessor.java 55KB
XMLEncodingDetector.java 55KB
AbstractReplicatedMap.java 54KB
StandardSession.java 54KB
Http11Processor.java 51KB
XMLChar.java 51KB
JspDocumentParser.java 49KB
ServerLifecycleListener.java 48KB
ContainerBase.java 48KB
RealmBase.java 46KB
ContextConfig.java 46KB
BaseDirContext.java 45KB
HostConfig.java 44KB
JspC.java 44KB
HTMLManagerServlet.java 43KB
AccessLogValve.java 43KB
Response.java 43KB
ELParserTokenManager.java 43KB
NamingContextListener.java 40KB
AjpAprProcessor.java 39KB
ChannelNioSocket.java 38KB
EncodingMap.java 37KB
JspUtil.java 37KB
WebappLoader.java 37KB
FileDirContext.java 36KB
MBeanFactory.java 36KB
ApplicationDispatcher.java 36KB
ManagerBase.java 36KB
IntrospectionUtils.java 36KB
AjpProcessor.java 36KB
WebRuleSet.java 36KB
NonBlockingCoordinator.java 35KB
PersistentManagerBase.java 34KB
WARDirContext.java 34KB
StatusTransformer.java 34KB
Connector.java 34KB
JspRuntimeLibrary.java 33KB
NamingContext.java 32KB
SimpleTcpCluster.java 31KB
JDBCStore.java 31KB
Embedded.java 31KB
ExtendedAccessLogValve.java 31KB
File.java 30KB
HttpServlet.java 30KB
CoyoteAdapter.java 30KB
共 1144 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
- 袁半仙2015-04-07东西很好,正需要,而且不要分,好人啊,继续发扬
- jiangxin19812013-03-27经典的东西,当然官网也有。
- 王志鑫2013-08-19帮助不小啊
javalover123888
- 粉丝: 21
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功