2014-04-16 3 views
2

я использую WebServlet аннотацию что-то, как показано ниже:WebServlet - urlPatterns с двумя гольцов

@WebServlet(urlPatterns = {"/en", "/de", "/fr"}) 
public class GeoServlet { 
// servlet code goes here 
} 

Как вы можете видеть, что я должен определить каждый гео в URL, но вместо того, что я хочу что-то сказать как allow all patterns from a-z but limit the pattern by two chars

, например что-то вроде:

@WebServlet(urlPatterns = {"/[a-z]"}{2} ) 

Как я могу добиться этого? Тпй.

+0

Надеюсь, это возможно. ИМХО № –

ответ

2

Нет, нет способа сделать это. Servlet Specification определяет синтаксис отображений

В дескрипторе развертывания веб-приложений, следующий синтаксис используется для определения отображения:

  • Строка, начиная с ‘/’ символа и заканчивая ‘/*’ суффикс используется для отображения пути.
  • Строка, начинающаяся с префикса ‘*.’, используется как расширение.
  • Пустая строка ("") представляет собой специальный шаблон URL, который точно соответствует корню контекста приложения, то есть запросы формы http://host:port/<contextroot>/. В этом случае информация о пути равна ’/’ и путь сервлетов и путь контекста - пустая строка (““).
  • Строка, содержащая только символ ’/’, указывает «сервлет по умолчанию» приложения. В этом случае путь сервлета является URI минус путь контекста, а информация о пути равна NULL.
  • Все остальные строки используются только для точных совпадений.

Он не распознает регулярные выражения.

Рассмотрите возможность использования Front Controller, который имеет собственное отображение.

Смежные вопросы