org.apache.catalina.startup.Catalina start之过程分析

【启动servlet容器(tomcat)的版本日志监听器】

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server version:        Apache Tomcat/7.0.57

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server built:          Nov 3 2014 08:39:16 UTC

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server number:         7.0.57.0

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: OS Name:               Windows 8.1

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: OS Version:            6.3

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Architecture:          amd64

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: JAVA_HOME:             F:\Java\jdk1.7.0_76\jre

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: JVM Version:           1.7.0_76-b13

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: JVM Vendor:            Oracle Corporation

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: CATALINA_BASE:         F:\gszh\gszh\apache-tomcat-7.0.57

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: CATALINA_HOME:         F:\gszh\gszh\apache-tomcat-7.0.57

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:61468

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dcatalina.home=F:\gszh\gszh\apache-tomcat-7.0.57

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dcatalina.base=F:\gszh\gszh\apache-tomcat-7.0.57

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Djava.endorsed.dirs=F:\gszh\gszh\apache-tomcat-7.0.57/common/endorsed

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Djava.io.tmpdir=F:\gszh\gszh\apache-tomcat-7.0.57\temp

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Djava.library.path=F:\Java\jdk1.7.0_76\jre\bin;F:\gszh\gszh\apache-tomcat-7.0.57\bin

五月 02, 2016 10:35:59 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Command line argument: -Dsun.io.useCanonCaches=false

【调用AprLifecycleListener监听器,LifecycleEventLifecycleListener接口的抽象方法(确认指定事件的发生)】

五月 02, 2016 10:35:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent

信息: Loaded APR based Apache Tomcat Native library 1.1.32 using APR version 1.5.1.

五月 02, 2016 10:35:59 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent

信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

五月 02, 2016 10:36:00 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL

信息: OpenSSL successfully initialized (OpenSSL 1.0.1j 15 Oct 2014)

【初始化servlet容器默认的协议】

五月 02, 2016 10:36:00 下午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["http-apr-8080"]

五月 02, 2016 10:36:00 下午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["ajp-apr-8009"]

五月 02, 2016 10:36:00 下午 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 1983 ms

【启动tomcat的服务】

五月 02, 2016 10:36:00 下午 org.apache.catalina.core.StandardService startInternal

信息: Starting service Catalina

【创建tomcat引擎的实例】

五月 02, 2016 10:36:00 下午 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/7.0.57

启动事件监听器的主机配置信息对应的项目实例和相关的上下文定义,部署的描述符文件,??.xml

五月 02, 2016 10:36:00 下午 org.apache.catalina.startup.HostConfig deployDescriptor

信息: Deploying configuration descriptor F:\gszh\gszh\apache-tomcat-7.0.57\conf\Catalina\localhost\test.xml

创建一个新的随机数生成器实例,该实例是我们应该使用生成会话标识符

五月 02, 2016 10:36:01 下午 org.apache.catalina.util.SessionIdGenerator createSecureRandom

信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [223] milliseconds.

【完成】

五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDescriptor

信息: Deployment of configuration descriptor F:\gszh\gszh\apache-tomcat-7.0.57\conf\Catalina\localhost\test.xml has finished in 954 ms

五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\docs

五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\docs has finished in 92 ms

五月 02, 2016 10:36:01 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\examples

ApplicationContextServletContext标准实现,它表示一个web应用程序的执行环境。这个类的一个实例与每个标准的servlet实例相关联

五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: contextInitialized()

五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log

信息: SessionListener: contextInitialized()

五月 02, 2016 10:36:02 下午 org.apache.catalina.core.ApplicationContext log

信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@33ed55b9')

【部署完成】

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\examples has finished in 539 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\fileData

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\fileData has finished in 64 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\host-manager

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\host-manager has finished in 91 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\it315

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\it315 has finished in 136 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\lib

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\lib has finished in 58 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\manager

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\manager has finished in 72 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\ROOT

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\ROOT has finished in 57 ms

五月 02, 2016 10:36:02 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop

【将指定的消息写入servlet日志文件】

五月 02, 2016 10:36:05 下午 org.apache.catalina.core.ApplicationContext log

信息: No Spring WebApplicationInitializer types detected on classpath

五月 02, 2016 10:36:05 下午 org.apache.catalina.core.ApplicationContext log

信息: Initializing Spring root WebApplicationContext

【执行实际的根应用程序上下文初始化工作。被ContextLoaderListener(在web.xml的配置文件指定)调用。

initWebApplicationContext的作用为:web.xmlcontext-params节点的“contextClass”和“contextConfigLocation”初始化Springweb应用程序上下文特定的servlet上下文。】

五月 02, 2016 10:36:05 下午 org.springframework.web.context.ContextLoader initWebApplicationContext

信息: Root WebApplicationContext: initialization started

AbstractApplicationContextIoC容器抽象类,prepareRefresh在当前上下文中准备刷新,设置它的启动日期和活跃标志以及执行任何初始化的属性源】

五月 02, 2016 10:36:05 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh

信息: Refreshing Root WebApplicationContext: startup date [Mon May 02 22:36:05 CST 2016]; root of context hierarchy

XmlBeanDefinitionReaderXML Bean定义的读者,从指定的xml文件中加载相关的bean定义】

五月 02, 2016 10:36:05 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-action.xml]

五月 02, 2016 10:36:05 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-public.xml]

五月 02, 2016 10:36:06 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from file [F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop\WEB-INF\classes\applicationContext-service.xml]

【加载配置文件属性到给定的实例。由于applicationContext-service.xml有关联了sessionFactory),所以这是它下一步加载hibernate框架的动作

五月 02, 2016 10:36:06 下午 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties

信息: Loading properties file from class path resource [conn.properties]

DefaultListableBeanFactory注册所有bean定义(可能从bean定义文件读取),

preInstantiateSingletons确保所有non-lazy-init单例实例化,还考虑FactoryBeans。如果需要的话,通常在工厂设置结束时调用】

五月 02, 2016 10:36:06 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons

信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4f806802: defining beans [baseAction,categoryAction,accountAction,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,date,dataSource,sessionFactory,transactionManager,advice,org.springframework.aop.config.internalAutoProxyCreator,pointcut,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,baseService,categoryService,accountService]; root of factory hierarchy

【补充说明:

applicationContext-action.xmlbaseAction,categoryAction,accountAction

applicationContext-public.xml

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0对应,

dataSource,

sessionFactory,

transactionManager,

advice,

org.springframework.aop.config.internalAutoProxyCreator,

pointcut,

org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0

applicationContext-service.xml:

baseService,categoryService,accountService

c3p0MLog

五月 02, 2016 10:36:06 下午 com.mchange.v2.log.MLog

信息: MLog clients using java 1.4+ standard logging.

C3P0Registry的主要目的是维护“identityTokens”的映射c3p0数据源如果相同的数据源查找(和通过JNDI或引用反序列化),c3p0可以确保总是返回相同的实例。

五月 02, 2016 10:36:07 下午 com.mchange.v2.c3p0.C3P0Registry banner

信息: Initializing c3p0-0.9.0.2 [built 26-September-2005 12:55:26 -0400; debug? true; trace: 10]

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

 

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

【创建Hibernate SessionFactory

五月 02, 2016 10:36:07 下午 org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory

信息: Building new Hibernate SessionFactory

【初始化c3p0连接池】

五月 02, 2016 10:36:07 下午 com.mchange.v2.c3p0.PoolBackedDataSource getPoolManager

信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource@373506de[ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 373506de, idleConnectionTestPeriod -> -1, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/shop, loginTimeout -> 0, maxIdleTime -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ]

HibernateTransactionManager允许绑定一个Hibernate会话从指定的线程工厂,可允许一个线程会话对应一个工厂。SessionFactoryUtilsHibernateTemplate知道绑定的线程以及能自动参与事务。

afterPropertiesSet调用一个BeanFactory的所有bean属性(包括满足BeanFactoryAware ApplicationContextAware)

五月 02, 2016 10:36:08 下午 org.springframework.orm.hibernate3.HibernateTransactionManager afterPropertiesSet

信息: Using DataSource [com.mchange.v2.c3p0.ComboPooledDataSource@373506de[ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 373506de, idleConnectionTestPeriod -> -1, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/shop, loginTimeout -> 0, maxIdleTime -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ]] of Hibernate SessionFactory for HibernateTransactionManager

spring容器初始化servicebean



cn.it.shop.service.impl.CategoryServiceImpl@75fe6111

获取父类信息:class cn.it.shop.service.impl.BaseServiceImpl

获取父类信息包括泛型信息:cn.it.shop.service.impl.BaseServiceImpl

clazz:class cn.it.shop.model.Category

-----setSessionFactory----

cn.it.shop.service.impl.AccountServiceImpl@478bb66f

获取父类信息:class cn.it.shop.service.impl.BaseServiceImpl

获取父类信息包括泛型信息:cn.it.shop.service.impl.BaseServiceImpl

clazz:class cn.it.shop.model.Account

-----setSessionFactory----

五月 02, 2016 10:36:09 下午 org.springframework.web.context.ContextLoader initWebApplicationContext

信息: Root WebApplicationContext: initialization completed in 3494 ms

【加载Struts2

【委派简单的日志记录器,并解析Struts2的配置文件】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Parsing configuration file [struts-default.xml]

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Parsing configuration file [struts-plugin.xml]

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Parsing configuration file [struts.xml]

ObjectFactory负责构建核心框架对象。用户可以注册自己的实现的ObjectFactory控制这些对象的实例化。

这个默认实现使用buildBean构建一个指定类型的泛型Java对象方法来创建所有类(拦截器、actionsresults)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (spring) for (com.opensymphony.xwork2.ObjectFactory)

FileManager:访问文件系统上的文件和监控变化】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.FileManager)

XWorkConverter是一个转化器类,单实例多线程。用以转换很复杂的对象】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.conversion.impl.XWorkConverter)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.TextProvider)

ActionProxyFactoryXwork创建和调度action代理的入口点】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.ActionProxyFactory)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.conversion.ObjectTypeDeterminer)

ActionMapper提供了映射HTTP请求与actioninvocation请求。它不需要保证ActionMapping返回的是一个真正的行动或确保一个有效的请求。因此,大多数ActionMappers并不需要咨询Struts配置来确定一个请求应该被映射。

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (org.apache.struts2.dispatcher.mapper.ActionMapper)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (jakarta) for (org.apache.struts2.dispatcher.multipart.MultiPartRequest)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (org.apache.struts2.views.freemarker.FreemarkerManager)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (org.apache.struts2.components.UrlRenderer)

action的验证管理类,基于规则和注解】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.validator.ActionValidatorManager)

【创建值栈的工厂】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.ValueStackFactory)

【反射供应者】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.reflection.ReflectionProvider)

ReflectionContextFactory:创建并返回一个标准的OGNL表达式】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.reflection.ReflectionContextFactory)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.util.PatternMatcher)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (org.apache.struts2.dispatcher.StaticContentLoader)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (com.opensymphony.xwork2.UnknownHandlerManager)

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Choosing bean (struts) for (org.apache.struts2.views.util.UrlHelper)

【初始化Struts-Spring的集成环境】

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Initializing Struts-Spring integration...

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Setting autowire strategy to name

五月 02, 2016 10:36:09 下午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: ... initialized Struts-Spring integration successfully

五月 02, 2016 10:36:10 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory F:\gszh\gszh\apache-tomcat-7.0.57\webapps\shop has finished in 7,836 ms

【再一次启动默认协议】

五月 02, 2016 10:36:10 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-apr-8080"]

五月 02, 2016 10:36:10 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-apr-8009"]

五月 02, 2016 10:36:10 下午 org.apache.catalina.startup.Catalina start

信息: Server startup in 9990 ms


作者: @nanphonfy 
Email: nanphonfy (Nfzone) gmail.com 请将(Nfzone)换成@



你可能感兴趣的:(tomcat,s2sh,小创新)