java.lang.IllegalArgumentException:servlet映射中的<url-pattern>无效

<servlet> <servlet-name>myservlet</servlet-name> <servlet-class>workflow.WDispatcher</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>*NEXTEVENT*</url-pattern> </servlet-mapping> 

以上是Tomcat的web.xml的片段。 启动时的URL模式*NEXTEVENT*会引发

java.lang.IllegalArgumentException:servlet映射中的<url-pattern>无效

如果有人可以提示错误,将不胜感激。

 <url-pattern>*NEXTEVENT*</url-pattern> 

url格式无效。 它可以以星号结尾或以一个开头(表示文件扩展名映射)。

url模式规范:

  • 以“/”字符开头并以“/ *”后缀结尾的string用于path映射。
  • 以“*”开头的string 前缀被用作扩展映射。
  • 只包含'/'字符的string表示应用程序的“默认”servlet。 在这种情况下,servletpath是请求URI减去上下文path,path信息为空。
  • 所有其他string仅用于精确匹配。

有关更多详细信息,请参阅Java Servlet规范版本3.1的第​​12.2节。

一个可以实现的解决方法是添加一个servletfilter来进行URL重写,例如,将NEXTEVENT重写为/ NEXTEVENT / (NEXTEVENT之前的那个)/ (NEXTEVENT之后的那个)或类似的东西。

  • Tomcat,JBoss和Glassfish有什么区别?
  • servlets如何工作? 实例化,会话,共享variables和multithreading
  • HttpServletRequest – 获取查询string参数,无表单数据
  • 如何configurationTomcat从webapps以外的外部文件夹提供图像?
  • 为什么HttpServlet实现Serializable?
  • Tomcat基本URLredirect
  • javax.servlet.jsp.PageContext无法parsing为types
  • 在Servlet中parsing传入的多部分/表单数据参数的方便方法
  • 增加Tomcat的内存设置
  • 收集并保存多个dynamicHTMLinput的提交值返回到servlet
  • 在任何与Servlet相关的类中获取JSF托pipebean的名称