我有一个使用骆驼路由的Web应用程序,我的问题与Web xml中的servlet映射有关(请参见下文)。通常,我在路由构建器中定义了许多不同的路由,例如,可以通过以下方式进行访问:
from(“ servlet://?matchOnUriPrefix = true&servletName = CamelRedirectErrorServlet”)
和一个“一般”入口点,除了这些更具体的路线之外,其他所有其他入口也应包括在内:
from(“ servlet://?matchOnUriPrefix = true”)
我的问题是,可以通过以下URL访问我的servlet:
http://my.url/redirect/back/?param1=value1¶m2=value2
但是此网址导致找不到404:
http://my.url/redirect/back?param1=value1¶m2=value2
在我看来,使用所有带有“ /?”的网址似乎不常见,甚至是错误的结尾。 有人可以帮我解决这个问题吗?我很欣赏每个主意。 先感谢您!! :-)
<servlet-mapping>
<servlet-name>CamelRedirectBackServlet</servlet-name>
<url-pattern>/redirect/back/*</url-pattern>
<url-pattern>/redirect/back</url-pattern>
</servlet-mapping>
<!-- Camel redirect error servlet -->
<servlet>
<servlet-name>CamelRedirectErrorServlet</servlet-name>
<servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Camel redirect error servlet mapping -->
<servlet-mapping>
<servlet-name>CamelRedirectErrorServlet</servlet-name>
<url-pattern>/redirect/error/*</url-pattern>
<url-pattern>/redirect/error</url-pattern>
</servlet-mapping>
<!-- Camel servlet mapping -->
<servlet-mapping>
<servlet-name>CamelServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>