Pergunta

<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>

Acima está o trecho do Tomcat web.xml.O padrão de URL *NEXTEVENT* em lançamentos iniciais

java.lang.IllegalArgumentException:<url-pattern> inválido no mapeamento de servlet

Ficaremos muito gratos se alguém puder sugerir o erro.­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Foi útil?

Solução

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

O padrão de URL não é válido.Ele pode terminar com um asterisco ou começar com um (para indicar um mapeamento de extensão de arquivo).

A especificação do padrão de URL:

  • Uma string começando com um caractere '/' e terminando com um sufixo '/*' é usada para o mapeamento de caminho.
  • Uma string começando com um '*.' O prefixo é usado como um mapeamento de extensão.
  • Uma sequência que contém apenas o caractere '/' indica o servlet "padrão" do aplicativo.Nesse caso, o caminho do servlet é a solicitação URI menos o caminho do contexto e as informações do caminho são nulas.
  • Todas as outras strings são usadas apenas para correspondências exatas.

Consulte a seção 12.2 do Especificação de servlet Java Versão 3.1 para mais detalhes.

Outras dicas

Uma solução alternativa que pode conseguir isso é adicionar um filtro de servlet para reescrever URL, por exemplo.reescrever PRÓXIMO EVENTO para /NEXTEVENTO/(aquele antes do NEXTEVENT)/(aquele após NEXTEVENT) ou algo semelhante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top