已经有server.keystore了,而且运行https://localhost:8443也可以出来页面,可是在log中却有下列异常,这是为什么呢?server.xml中相关配置如下:
 <Connector enableLookups="true" keystoreFile="C:\Documents and Settings\Zhiliang\server.keystore" keystorePass="changeit" port="8443" redirectPort="-1" scheme="https" sslProtocol="TLS" algorithm="SunX509" clientauth="false" keypass="changeit" keystore="C:\\.keystore" keytype="JKS" protocol="TLS" secure="true">
      <Factory className="org.apache.coyote.tomcat5.CoyoteServerSocketFactory" keystoreFile="C:\Documents and Settings\Zhiliang\server.keystore"/>
    </Connector>异常如下:
2005-5-30 12:53:04 org.apache.catalina.core.StandardService removeConnector
严重: Connector.stop
LifecycleException:  Protocol handler destroy failed: java.lang.NullPointerException
at org.apache.coyote.tomcat5.CoyoteConnector.stop(CoyoteConnector.java:1578)
at org.apache.catalina.core.StandardService.removeConnector(StandardService.java:365)
at org.apache.catalina.mbeans.MBeanFactory.removeConnector(MBeanFactory.java:1159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:501)
at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:209)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:123)
at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:79)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:123)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:123)
at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:144)
at mx4j.server.MBeanServerImpl.invoke(MBeanServerImpl.java:1353)
at org.apache.webapp.admin.connector.DeleteConnectorsAction.perform(DeleteConnectorsAction.java:140)
at org.apache.struts.action.Action.execute(Action.java:420)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
还有一个比较菜的问题:在server.xml中keystore出现了三次,分别有什么不同呢?我是用administration来配置的.

解决方案 »

  1.   

    我删除第二个keystore,出现如下异常:
    严重: Catalina.start
    LifecycleException:  Protocol handler instantiation failed: java.lang.NullPointerException
    at org.apache.coyote.tomcat5.CoyoteConnector.initialize(CoyoteConnector.java:1368)
    at org.apache.catalina.core.StandardService.initialize(StandardService.java:609)
    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:2384)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:507)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:250)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:424)