Шаблон URL для отображения сервлета в web.xml - PullRequest
10 голосов
/ 29 января 2009

Мне нужен обходной путь с этим сопоставлением URL-адресов в web.xml для создания URL-адресов с буквой, за которой следует «_», за которым следует любая комбинация буквенно-цифровых символов.

Я хочу сопоставить сервлет с чем-то вроде этого:

/something_*

Вместо:

/something/*

Использование разных «что-то» для разных JSP. Пример:

/search_Something-I-searched-for

Я пытался использовать:

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/something_*</url-pattern>
  </servlet-mapping>

Но, похоже, это не работает. Этот ответ говорит мне, что я не могу сделать это в web.xml, так что, возможно, есть какой-то обходной путь.

Я не знаю, важна ли эта информация, но я использую JBoss и Struts2 в своем проекте.

Ответы [ 2 ]

5 голосов
/ 29 января 2009

Отобразить сервлет в содержащий каталог. Внутри этого сервлета разберите URL-путь и отправьте на соответствующий именованный сервлет .

0 голосов
/ 08 июня 2013

Почему бы не попробовать Spring MVC Framework. Spring может предложить то отображение URL, которое вы хотите.

@RequestMapping(value="/something_{name}", method=RequestMethod.GET)
public String demo(@PathVariable(value="name") String name, ModelMap map) {

String something = name;

// Do manipulation

return "something"; // Forward to something.jsp
}

Посмотрите это Учебник по Spring MVC Framework

...