Шаблон URL-адреса для сопоставления сервлетов в web.xml

StackOverflow https://stackoverflow.com/questions/491773

Вопрос

Мне нужен обходной путь с этим сопоставлением 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.

Это было полезно?

Решение

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

Другие советы

Почему бы не попробовать 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top