我希望能够在不重新启动服务器的情况下更改 urlrewrite.xml 中的规则。
我正在运行 Tomcat 7。在 web.xml 我有...
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confReloadCheckInterval</param-name>
<param-value>120</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>INFO</param-value>
</init-param>
</filter>
当我更改<to>
urlrewrite.xml 中元素的值时,尝试执行该规则会导致异常。
java.lang.ClassNotFoundException: org.apache.jsp.s1.content.about_002dus_jsp at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132) 的 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 的 java.security.AccessController.doPrivileged(Native Method)。 jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) 在 org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:145) 在 org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java: 172) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:303) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org. apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.tukey.web.filters.urlrewrite.RuleChain.handleRewrite( RuleChain.java:176) 在 org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 在 org.tukey.web.filters.urlrewrite。UrlRewriter.processRequest(UrlRewriter.java:92) 在 org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) 在 org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:486) 在 org.tukey 的 org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) 在 org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)。 web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) 在 org.tuckkey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) 在 org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 在 org.tuckey.web.filters.urlrewrite。 UrlRewriter.processRequest(UrlRewriter.java:92) 在 org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 au.com.pawsforlife.vizsla.controller.UserFilter.doFilter(UserFilter.java:81) 在 org.apache.catalina.core.ApplicationFilterChain .internalDoFilter(ApplicationFilterChain.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache。catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java: 501) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 在 org.apache.catalina.valves.AccessLogValve 的 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) .invoke(AccessLogValve.java:950) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org. org.apache.coyote 上的 apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)。AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:第1145章.run(Thread.java:745)在 java.lang.Thread.run(Thread.java:745) 处运行(TaskThread.java:61)在 java.lang.Thread.run(Thread.java:745) 处运行(TaskThread.java:61)
有谁知道为什么会发生这种情况,或者至少如何解决?
谢谢!