现想通过外部程序启动Tomcat5,而Tomcat在启动中需要运行一些程序,已经
在web.xml中定义完毕。
现象是在运行外部程序启动Tomcat时,出现错误,不能运行xml中定义的
内部程序,准确的说,是在运行这些程序前,程序停止。
相反,在dos下面启动Tomcat自身带的启动程序就可以顺利
执行,特请教大家。

解决方案 »

  1.   

    看起来应该是跟环境变量有关系的,
    你在外部程序中,用什么方法启动的Tomcat?
      

  2.   

    我现在也怀疑是环境的问题。
    外部调用程序其实很简单,就是通过Runtime的
    exec方法。
      

  3.   

    把你环境变量和WEB。XML配置发出来
      

  4.   

    下面是web.xml<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
    <web-app>
        <servlet>
            <servlet-name>action</servlet-name>
            <!-- <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> --         <servlet-class>form.myActionServlet</servlet-class> 
            <init-param>
                <param-name>config</param-name>
                <param-value>
                /WEB-INF/struts-config.xml,
                /WEB-INF/struts-config-common.xml,
                /WEB-INF/struts-config-main.xml,
                /WEB-INF/struts-config-m01.xml,
                /WEB-INF/struts-config-m02.xml,
                /WEB-INF/struts-config-m03.xml,
                /WEB-INF/struts-config-m04.xml,
                /WEB-INF/struts-config-m05.xml,
                /WEB-INF/struts-config-m06.xml,
                /WEB-INF/struts-config-m07.xml,
                /WEB-INF/struts-config-m08.xml,
             /WEB-INF/struts-config-mente.xml
                </param-value>
            </init-param>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
    <!--        
            <init-param>
    <param-name>javaEncoding</param-name>
    <param-value>Shift_JIS</param-value>
    </init-param>
    -->        
        </servlet>
        <servlet>
    <servlet-name>init</servlet-name>
    <servlet-class>control.Init</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
      <filter>     
         <filter-name>Encoding</filter-name>  
         <filter-class>filters.SetCharacterEncodingFilter</filter-class> 
                   <init-param>    
                               <param-name>encoding</param-name> 
                               <param-value>Shift_JIS</param-value>  
                   </init-param> 
       </filter> 
       <filter-mapping> 
    <filter-name>Encoding</filter-name>
        <url-pattern>/*</url-pattern>  
       </filter-mapping>
      <security-constraint>
       <web-resource-collection>
        <web-resource-name>Member Info</web-resource-name>
        <url-pattern>/members/*</url-pattern>
       </web-resource-collection>
       <auth-constraint>
        <role-name>user</role-name>
       </auth-constraint>
      </security-constraint>
        <security-constraint>
       <web-resource-collection>
        <web-resource-name>Admin Info</web-resource-name>
        <url-pattern>/admin/*</url-pattern>
       </web-resource-collection>
       <auth-constraint>
        <role-name>admin</role-name>
       </auth-constraint>
      </security-constraint>
      
      <login-config>
       <auth-method>BASIC</auth-method>
       <realm-name>Member Info</realm-name>
      </login-config>
      <security-role>
        <role-name>user</role-name>
        <role-name>admin</role-name>
      </security-role> 
    <!--   
    <resource-ref>
    <res-ref-name>jdbc/struts</res-ref-name>
    <res-type>javax.sql.DataSorce</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>   
    -->   
      <session-config>
       <session-timeout>
    60
       </session-timeout>
      </session-config>
    <taglib>
        <taglib-uri>/WEB-INF/sslext.tld</taglib-uri>
        <taglib-location>/WEB-INF/sslext.tld</taglib-location>
    </taglib>
    <taglib>
      <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
      <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
      <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
      <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
      <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
      <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
      <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
      <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
    </taglib>
    </web-app>下面是环境
    PATH=C:\Oracle\product\10.1.0\Client_1\bin;C:\Oracle\product\10.1.0\Client_1\jre
    \1.4.2\bin\client;C:\Program Files\Java\jdk1.5.0_05\bin;C:\Perl\bin\;C:\usr\bin\
    ;C:\PROGRA~1\JUSTSY~1\JSLIB32;C:\oracle\ora90\bin;C:\Program Files\Oracle\jre\1.
    1.8\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\NETMANAG.32;C:\Prog
    ram Files\Symantec\pcAnywhere\;C:\oracle\ora90\bin;C:\OpenSSL\bin;C:\Tomcat\comm
    on\lib;现在的问题就是出在
        <servlet>
    <servlet-name>init</servlet-name>
    <servlet-class>control.Init</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    这部分,启动不了。
    顺便说一下,这部分的内容是另外一个项目的东西。