java - org.tuckey.web.filters.urlrewrite 和 tomcat 5.5 的问题

标签 java spring tomcat url-rewriting

我正在使用 spring roo 开发一个应用程序,我必须将它部署在 tomcat 5.5 中。在开发时,我使用 jetty 没有问题,但是当我在 tomcat 中测试它时,我的所有 url 都是错误的,我收到了这条日志消息。

DEBUG http-8080-3 org.springframework.security.context.HttpSessionContextIntegrationFilter - SecurityContextHolder now cleared, as request processing completed
ERROR http-8080-3 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[default] - Servlet.service() para servlet default lanzó excepción
java.lang.IllegalArgumentException: Illegal group reference
    at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
    at org.tuckey.web.filters.urlrewrite.utils.WildcardMatcher.replaceAll(WildcardMatcher.java:118)
    at org.tuckey.web.filters.urlrewrite.RuleBase.matchesBase(RuleBase.java:242)
    at org.tuckey.web.filters.urlrewrite.NormalRule.matches(NormalRule.java:88)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRuleProcessing(RuleChain.java:79)
    at org.tuckey.web.filters.urlrewrite.RuleChain.process(RuleChain.java:133)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:140)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:71)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

我意识到这是 url rewrite 的一个问题,当它试图用正则表达式替换符号 $ 时。我该如何解决这个问题?

非常感谢。

最佳答案

我使用下一个版本的 urlrewrite 解决了这个问题

    <dependency>
        <groupId>org.tuckey</groupId>
        <artifactId>urlrewrite</artifactId>
        <version>3.2.0</version>
    </dependency>

关于java - org.tuckey.web.filters.urlrewrite 和 tomcat 5.5 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471679/

相关文章:

java - Spring - java.io.FileNotFoundException : class path resource cannot be opened because it does not exist

java - Spring-MVC,Cometd : Broadcasting without @Listener

java - Java 中的简单 Websocket 客户端 - 连接问题

java - 升级到 Tomcat 8 时出现 ClassNotFoundException

java - 覆盖默认的 org.springframework.amqp.rabbit.connection.CachingConnectionFactory 实现

Java Swing : Insert JTable column into mysql database

java - 当我添加一个项目时,tableview 是空的

java - 冒号(:) operator do?

用于连接数据库的 Java 桌面应用程序

java - 有没有办法强制 JAVA 在 Elements 中打印空的 CDATA?