我正在使用 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/