【发布时间】:2011-09-22 05:39:31
【问题描述】:
我正在使用 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 重写的问题。我该如何解决这个问题?
非常感谢。
【问题讨论】:
标签: java spring tomcat url-rewriting