Netbeans Tomcat 到 Glassfish

Netbeans Tomcat to Glassfish

我有一个适用于 Netbeans 8 和 Tomcat 8 的应用程序。我在 Glassfish 4 上尝试 运行,但在服务器启动时出错:

Severe:   Exception during lifecycle processing
java.lang.IllegalArgumentException: Invalid URL Pattern: [{0}]
at org.glassfish.web.deployment.node.FilterMappingNode.setElementValue(FilterMappingNode.java:143)
at com.sun.enterprise.deployment.node.SaxParserHandler.endElement(SaxParserHandler.java:583)

我在 web.xml 中使用 SSI 过滤器:

<filter>
<filter-name>ssi</filter-name>
<filter-class>
      org.apache.catalina.ssi.SSIFilter
    </filter-class>
<init-param>
  <param-name>contentType</param-name>
  <param-value>text/html</param-value>
</init-param>
<!--    <init-param>
  <param-name>debug</param-name>
  <param-value>0</param-value>
</init-param>
<init-param>
  <param-name>expires</param-name>
  <param-value>666</param-value>
</init-param>
<init-param>
  <param-name>isVirtualWebappRelative</param-name>
  <param-value>false</param-value>
</init-param>
-->
</filter>
<filter-mapping>
  <filter-name>ssi</filter-name>
  <url-pattern>*</url-pattern>
</filter-mapping>

在 Glassfish 中使用 SSi Filter 有什么问题吗?我注意到所有文档都在 examples.I

中使用 SSI Servlet

在查看 glassfish 的一般 "Invalid URL Pattern:" 错误时,我遇到了很多问题,它不喜欢不以“/”开头的标签

所以,我改变了

<url-pattern>*</url-pattern> 

<url-pattern>/*</url-pattern>

它奏效了。更重要的是,Tomcat 也接受这种格式。