ColdFusion 10不适用于Amazon Elastic Beanstalk

时间:2012-08-31 14:28:24

标签: coldfusion elastic-beanstalk coldfusion-10

我正在尝试将ColdFusion 10部署到AWS ElasticBeanstalk服务,但是库存配置失败。我正在尝试创建一个x64 Tomcat 6环境。

您是否知道需要进行哪些更改以允许通过Amazone Elastic Beanstalk部署ColdFusion 10,同时允许SES链接等库存配置?谢谢!

异常

    SEVERE: Parse error in application web.xml file at jndi:/localhost/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/WEB-INF/web.xml; lineNumber: 500; columnNumber: 23; Error at (500, 23: Invalid <url-pattern> *.cfml/* in servlet mapping
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832)
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endNamespaceScope(XMLDTDValidator.java:2102)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2053)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:927)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
    at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1076)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)

...

的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/dtd/web-app_2_3.dtd">
<web-app id="adobe_coldfusion">
    <display-name>WARTest</display-name>
    <description>Adobe ColdFusion 10</description>
    <context-param id="coldfusion_context_1">
        <param-name>cftags</param-name>
        <param-value>/WEB-INF/cftags</param-value>
        <description>Path to search for built-in tags. Relative to application root.
            This parameter can only be one path element.</description>
    </context-param>
    <context-param id="coldfusion_context_2">
        <param-name>coldfusion.compiler.outputDir</param-name>
        <param-value>/WEB-INF/cfclasses</param-value>
        <description>This is the directory where we will place compiled
            pages. It must be relative to the webapp root.</description>
    </context-param>
    <context-param id="coldfusion_context_4">
        <param-name>cfx.registry.nativelibrary</param-name>
        <param-value>cfregistry</param-value>
        <description>Native library that implements CFX_REGISTRY.
            Used on Windows only.</description>
    </context-param>
    <context-param id="coldfusion_context_5">
        <param-name>cfx.report.nativelibrary</param-name>
        <param-value>cfreport</param-value>
        <description>Native library that implements CFX_REPORT.
            Used on Windows only.</description>
    </context-param>
    <context-param id="coldfusion_context_88">
        <param-name>cf.class.path</param-name>
        <param-value>
            ./WEB-INF/../../../classes,./WEB-INF/../../lib/updates,./WEB-INF/../../lib,./WEB-INF/flex/jars,./WEB-INF/cfform/jars,./WEB-INF/../../lib/axis2</param-value>
    </context-param>
    <context-param id="coldfusion_context_89">
        <param-name>cf.lib.path</param-name>
        <param-value>./WEB-INF/../../lib</param-value>
    </context-param>

    <!-- CF Monitoring Filter  -->
    <filter>
        <filter-name>CFMonitoringFilter</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>coldfusion.monitor.event.MonitoringServletFilter</param-value>
        </init-param>
    </filter>

    <!-- Cache Filter for cfform swfs -->
    <filter>
        <filter-name>CFCacheFilter</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>flex.server.j2ee.cache.CacheFilter</param-value>
        </init-param>
    </filter>

    <!-- Request Control Filter for Flash Remoting servlets-->
    <filter>
        <filter-name>FlashRemotingControlFilter</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>coldfusion.filter.FlashRequestControlFilter</param-value>
        </init-param>
    </filter>

    <!-- WSRP portlet Filter for wsrp producer -->
    <filter>
        <filter-name>WSRPFilter</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>coldfusion.portlet.wsrp.ProviderImpl</param-value>
        </init-param>
    </filter>

    <!-- CF ClickJacking deny protection Filter  -->
    <filter>
        <filter-name>CFClickJackFilterDeny</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>coldfusion.filter.ClickjackingProtectionFilter</param-value>
        </init-param>
        <init-param>
            <param-name>mode</param-name>
            <param-value>DENY</param-value>
        </init-param>
    </filter>

    <!-- CF ClickJacking same origiin protection Filter  -->
    <filter>
        <filter-name>CFClickJackFilterSameOrigin</filter-name>
        <filter-class>coldfusion.bootstrap.BootstrapFilter</filter-class>
        <init-param>
            <param-name>filter.class</param-name>
            <param-value>coldfusion.filter.ClickjackingProtectionFilter</param-value>
        </init-param>
        <init-param>
            <param-name>mode</param-name>
            <param-value>SAMEORIGIN</param-value>
        </init-param>
    </filter>

    <!-- CF ClickJacking Filter mapppings starts. For ColdFusion Administrator we are allowing sameorigiin frames. Use Deny or some other mode of this filter as appropriate for the application and add required url pattern
    -->
    <filter-mapping>
        <filter-name>CFClickJackFilterSameOrigin</filter-name>
        <url-pattern>/CFIDE/administrator/*</url-pattern>
    </filter-mapping>
    <!-- End CF ClickJacking Filter mappings -->

    <!-- CF Monitoring Filter mappings
     When new servlets registered in web.xml, it must be ensured that
     filter mappings are added for this filter as required.
     Note that the MessageBrokerServlet for the Flex 2 Gateway is not
     included here. This is because Flex appears to batch invocations
     for methods invoked close to one another, resulting in the filter
     being missed for all batched invocations other than the first.
    -->
    <filter-mapping>
        <filter-name>CFMonitoringFilter</filter-name>
        <servlet-name>FlashGateway</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CFMonitoringFilter</filter-name>
        <servlet-name>CFFormGateway</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CFMonitoringFilter</filter-name>
        <servlet-name>CfmServlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CFMonitoringFilter</filter-name>
        <servlet-name>CFCServlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>CFMonitoringFilter</filter-name>
        <servlet-name>CFRestServlet</servlet-name>
    </filter-mapping>
    <!-- End CF Monitoring Filter mappings -->

    <!-- Request Control Filter for Flash Remoting servlets -->
    <filter-mapping>
        <filter-name>FlashRemotingControlFilter</filter-name>
        <servlet-name>MessageBrokerServlet</servlet-name>
    </filter-mapping>

    <filter-mapping>
        <filter-name>FlashRemotingControlFilter</filter-name>
        <servlet-name>FlashGateway</servlet-name>
    </filter-mapping>
    <!-- end request control filters -->

    <!-- Cache Filter for cfform swfs -->
    <filter-mapping>
        <filter-name>CFCacheFilter</filter-name>
        <servlet-name>CFSwfServlet</servlet-name>
    </filter-mapping>

   <!-- WSRP portlet Filter for wsrp producer -->
   <filter-mapping>
    <filter-name>WSRPFilter</filter-name>
    <servlet-name>WSRPProducer</servlet-name>
   </filter-mapping>    


    <listener>
        <listener-class>coldfusion.bootstrap.HttpFlexSessionBootstrap</listener-class>
    </listener>

    <!-- Message Broker Servlet, wrapped in a ColdFusion specific class -->
    <servlet>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.flex.ColdFusionMessageBrokerServlet</param-value>
        </init-param>
        <init-param>
            <param-name>services.configuration.file</param-name>
            <param-value>/WEB-INF/flex/services-config.xml</param-value>
        </init-param>
        <load-on-startup>11</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>CFSwfServlet</servlet-name>
        <display-name>SWF Retreiver</display-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>flex.server.j2ee.SwfServlet</param-value>
        </init-param>
        <load-on-startup>5</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>CFMxmlServlet</servlet-name>
        <display-name>MXML Processor</display-name>
        <description>Servlet wrapper for the Mxml Compiler</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>flex.compiler.MxmlServlet</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>CFForbiddenServlet</servlet-name>
        <display-name>Prevents access to *.as files</display-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>flex.server.j2ee.ForbiddenServlet</param-value>
        </init-param>
    </servlet>
    <!-- end flash forms settings -->

    <servlet id="coldfusion_servlet_1">
        <servlet-name>ColdFusionStartUpServlet</servlet-name>
        <display-name>Coldfusion MX Startup Servlet</display-name>
        <description>Initializes ColdFusion</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_1034013110641">
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.server.j2ee.CFStartUpServlet</param-value>
        </init-param>
        <init-param id="InitParam_1034013110642">
            <param-name>cfRootDir</param-name>
            <param-value>./WEB-INF/cfusion</param-value>
        </init-param>
        <init-param id="InitParam_1034013110643">
            <param-name>appServer</param-name>
            <param-value>J2EE</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet id="coldfusion_servlet_11">
        <servlet-name>FlashGateway</servlet-name>
        <display-name>Flash Gateway</display-name>
        <description>Allows flash to connect to CFML and CFC templates.</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_103401311064890">
            <param-name>servlet.class</param-name>
            <param-value>flashgateway.controller.GatewayServlet</param-value>
        </init-param>
        <init-param id="InitParam_1034013110642x">
            <param-name>cfRootDir</param-name>
            <param-value>./WEB-INF/cfusion</param-value>
        </init-param>
        <init-param>
            <param-name>gateway.configuration.file</param-name>
            <param-value>/WEB-INF/gateway-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>whitelist.configuration.file</param-name>
            <param-value>/WEB-INF/gateway-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>whitelist.parent.node</param-name>
            <param-value>gateway-config</param-value>
        </init-param>
        <init-param id="InitParam_1034013110643a">
            <param-name>appServer</param-name>
            <param-value>J2EE</param-value>
        </init-param>
        <load-on-startup>11</load-on-startup>
    </servlet>
    <servlet id="coldfusion_servlet_12">
        <servlet-name>CFFormGateway</servlet-name>
        <display-name>CFFormGateway</display-name>
        <description>Allows flash forms to connect to CFML and CFC templates.</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_103401311064891">
            <param-name>servlet.class</param-name>
            <param-value>flashgateway.controller.GatewayServlet</param-value>
        </init-param>
        <init-param id="InitParam_1034013110642y">
            <param-name>cfRootDir</param-name>
            <param-value>./WEB-INF/cfusion</param-value>
        </init-param>
        <init-param>
            <param-name>gateway.configuration.file</param-name>
            <param-value>/WEB-INF/cfform-gateway-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>whitelist.configuration.file</param-name>
            <param-value>/WEB-INF/cfform-gateway-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>whitelist.parent.node</param-name>
            <param-value>gateway-config</param-value>
        </init-param>
        <init-param id="InitParam_1034013110643b">
            <param-name>appServer</param-name>
            <param-value>J2EE</param-value>
        </init-param>
        <load-on-startup>12</load-on-startup>
    </servlet>


    <servlet id="coldfusion_servlet_3">
        <servlet-name>CfmServlet</servlet-name>
        <display-name>CFML Template Processor</display-name>
        <description>Compiles and executes CFML pages and tags</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_1034013110656ert">
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.CfmServlet</param-value>
        </init-param>
        <load-on-startup>4</load-on-startup>
    </servlet>
    <servlet id="coldfusion_servlet_4">
        <servlet-name>GraphServlet</servlet-name>
        <display-name>GraphServlet</display-name>
        <description>Serves up graph data</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_1034013110657xx">
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.graph.GraphServlet</param-value>
        </init-param>
    </servlet>
    <servlet id="coldfusion_servlet_5">
        <servlet-name>CFCServlet</servlet-name>
        <display-name>CFC Processor</display-name>
        <description>Compiles and executes CF web components</description>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_1034013110657ax">
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.xml.rpc.CFCServlet</param-value>
       </init-param>
        <load-on-startup>10</load-on-startup>
    </servlet>

        <!-- Used in calling OnServerStart, so this should be the last one to get initialized -->
        <servlet id="coldfusion_servlet_1001">
            <servlet-name>ServerCFCServlet</servlet-name>
            <display-name>OnServerStart Servlet</display-name>
            <description>Invokes OnServerStart</description>
            <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
            <init-param id="InitParam_1034013110613">
                <param-name>servlet.class</param-name>
                <param-value>coldfusion.cfc.ServerCFCServlet</param-value>
            </init-param>
            <init-param id="InitParam_1034013110614">
                <param-name>cfRootDir</param-name>
                <param-value>./WEB-INF/cfusion</param-value>
            </init-param>
            <load-on-startup>1001</load-on-startup>
        </servlet>

        <!-- begin REST -->
        <servlet id="coldfusion_servlet_6">
            <servlet-name>CFRestServlet</servlet-name>
            <display-name>Rest Processor</display-name>
            <description>Starts and configures rest web components</description>
            <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
            <init-param id="InitParam_1034013110657rs">
                <param-name>servlet.class</param-name>
                <param-value>coldfusion.rest.servlet.CFRestServlet</param-value>
            </init-param>
            <init-param>
                <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
                <param-value>coldfusion.rest.servlet.CFUriConnegFilter;coldfusion.rest.servlet.CFRequestFilter</param-value>
            </init-param>
            <init-param>
                <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
                <param-value>coldfusion.rest.servlet.CFResponseFilter</param-value>
            </init-param>
            <load-on-startup>11</load-on-startup>
        </servlet>
        <!-- end REST -->

    <!-- begin RDS -->
    <servlet id="coldfusion_servlet_8789">
        <servlet-name>RDSServlet</servlet-name>
        <display-name>RDS Servlet</display-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param id="InitParam_103401311065856789">
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.rds.RdsFrontEndServlet</param-value>
        </init-param>
    </servlet>
    <!-- end RDS -->

    <servlet>
        <servlet-name>CFFileServlet</servlet-name>
        <display-name>Serves files for cfpresentation,cfreport,captcha etc</display-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>coldfusion.util.CFFileServlet</param-value>
        </init-param>
    </servlet>

     <!-- WSRP producer servlet.. -->
    <servlet>
        <servlet-name>WSRPProducer</servlet-name>
        <servlet-class>coldfusion.bootstrap.BootstrapServlet</servlet-class>
        <init-param>
            <param-name>servlet.class</param-name>
            <param-value>org.apache.axis.transport.http.AxisServlet</param-value>
        </init-param>
        <load-on-startup>101</load-on-startup>
    </servlet>


    <!-- Flash Remoting/Flex mapping -->
    <servlet-mapping id="coldfusion_mapping_0">
        <servlet-name>MessageBrokerServlet</servlet-name>
        <url-pattern>/flex2gateway/*</url-pattern>
    </servlet-mapping>

    <!-- start flex2
    <servlet-mapping>
        <servlet-name>FlexMxmlServlet</servlet-name>
        <url-pattern>*.mxml</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>FlexInternalServlet</servlet-name>
        <url-pattern>/flex-internal/*</url-pattern>
    </servlet-mapping>    
    end flex2 -->

    <servlet-mapping id="coldfusion_mapping_1">
        <servlet-name>FlashGateway</servlet-name>
        <url-pattern>/flashservices/gateway/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_2">
        <servlet-name>GraphServlet</servlet-name>
        <url-pattern>/CFIDE/GraphData</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_3">
        <servlet-name>CfmServlet</servlet-name>
        <url-pattern>*.cfm</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_4">
        <servlet-name>CFCServlet</servlet-name>
        <url-pattern>*.cfc</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_5">
        <servlet-name>CfmServlet</servlet-name>
        <url-pattern>*.cfml</url-pattern>
    </servlet-mapping>
    <!-- Please leave these .cfm/* mappings in.
          They are included to support Search Engine Safe (SES) URL types. 
    -->
    <!-- begin SES -->
    <servlet-mapping id="coldfusion_mapping_6">
        <servlet-name>CfmServlet</servlet-name>
        <url-pattern>*.cfml/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_7">
        <servlet-name>CfmServlet</servlet-name>
        <url-pattern>*.cfm/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_8">
        <servlet-name>CFCServlet</servlet-name>
        <url-pattern>*.cfc/*</url-pattern>
    </servlet-mapping>
    <!-- end SES -->
    <!-- begin RDS -->
    <servlet-mapping id="coldfusion_mapping_9">
        <servlet-name>RDSServlet</servlet-name>
        <url-pattern>/CFIDE/main/ide.cfm</url-pattern>
    </servlet-mapping>
    <!-- end RDS -->
    <servlet-mapping id="coldfusion_mapping_10">
        <servlet-name>CFCServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_11">
        <servlet-name>GraphServlet</servlet-name>
        <url-pattern>/CFIDE/GraphData.cfm</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_12">
        <servlet-name>CFCServlet</servlet-name>
        <url-pattern>*.cfr</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_13">
        <servlet-name>CFFormGateway</servlet-name>
        <url-pattern>/CFFormGateway/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_14">
        <servlet-name>CFFileServlet</servlet-name>
        <url-pattern>/CFFileServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping id="coldfusion_mapping_15">
        <servlet-name>CFRestServlet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>CFForbiddenServlet</servlet-name>
        <url-pattern>*.hbmxml</url-pattern>
    </servlet-mapping>

    <!-- start flash form settings -->
    <servlet-mapping>
        <servlet-name>CFInternalServlet</servlet-name>
        <url-pattern>/cfform-internal/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>CFSwfServlet</servlet-name>
        <url-pattern>*.cfswf</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>CFForbiddenServlet</servlet-name>
        <url-pattern>*.as</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>CFForbiddenServlet</servlet-name>
        <url-pattern>*.sws</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>CFForbiddenServlet</servlet-name>
        <url-pattern>*.swc</url-pattern>
    </servlet-mapping>
    <!-- end flash form settings -->

   <!--  WSRP producer servlet mapping.. -->
   <servlet-mapping>
        <servlet-name>WSRPProducer</servlet-name>
        <url-pattern>/WSRPProducer/*</url-pattern>
   </servlet-mapping>



    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    <distributable/>

    <welcome-file-list id="WelcomeFileList_1034013110672">
        <welcome-file>index.cfm</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
    </welcome-file-list>


    <!-- start flex2
    <taglib>
        <taglib-uri>FlexTagLib</taglib-uri>
        <taglib-location>/WEB-INF/lib/cf-bootstrap-for-flex.jar</taglib-location>
    </taglib>
    end flex2 -->

</web-app>

1 个答案:

答案 0 :(得分:2)

根据this thread,该模式在servlet规范中是不合法的:您可以以*开头或结尾但不能使用多个。 JRun急于支持这种映射方式,但tomcat没有。 Railo也有同样的问题

Adobe have modified their version of Tomcat以支持这些模式。

我可以找到的所有示例都建议在特定文件中添加额外的servlet映射,例如foo / index.cfm / *,如果你可以列出所有使用SES样式参数的页面,那就没问题了,但是如果使用它们则没什么用处到处都是。

我能想到的其他选项是使用Tuckey rewrite filter将您的SES网址映射到常规网址参数。

另外,您可以更改为Tomcat7实例并修改web.xml以引用tomcat7支持的servlet规范版本3。 Servlet 3规范允许servlet映射中的正则表达式,这应该允许您正确支持SES映射。

请发帖告诉我们你是如何上场的。