Отображение сервлетов: шаблон URL для URL-адресов с завершающей косой чертой

Когда я сначала начал узнавать об объектно-ориентированном программировании, я сделал легкое и вероятно частую ошибку использования наследования для совместного использования общего поведения - даже там, где то поведение не было важно для природы объекта.

Для дальнейшего построения на примере, очень используемом в этом конкретном вопросе, существует партии из вещей, которые ласковы - подруги, автомобили, нечеткие слоя... - таким образом, у меня, возможно, был класс Petable, который обеспечил это общее поведение и различные классы, наследовавшиеся ему.

Однако быть ласковым не часть природы ни одного из этих объектов. Существуют значительно более важные понятия, которые являются важны для их характера - подруга является человеком, автомобиль является наземным транспортным средством, кошка является млекопитающим...

Поведения должны присваиваться сначала интерфейсам (включая интерфейс по умолчанию класса) и способствоваться базовому классу, только если они (a) характерный для большой группы классов, которые являются подмножествами большего класса - в том же смысле, что "кошка" и "человек" являются подмножествами "млекопитающего".

выгода после понимания объектно-ориентированного дизайна достаточно лучше, чем я сделал сначала, Вы будете обычно делать это автоматически, даже не думая об этом. Так пустая истина оператора "код к интерфейсу, не абстрактный класс" становится настолько очевидным, что Вам нелегко полагать, что любой потрудился бы говорить это - и начинать пытаться считать другие значения в него.

Другая вещь, которую я добавил бы, состоит в том что, если класс просто краткий обзор - без неабстрактных, ненаследованных участников или методов, представленных ребенку, родителю или клиенту - тогда, почему это - класс? Это могло быть заменено, в некоторых случаях интерфейсом и в других случаях Пустым указателем.

26
задан vbence 19 May 2014 в 14:48
поделиться

1 ответ

Используйте подстановочный знак. Вы можете перенаправить весь трафик, идущий на определенный URL, к тому же сервлету. Например, вы можете добавить следующее:

<servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorld/*</url-pattern>
</servlet-mapping>

Это перенаправит URL с косой чертой на ваш оригинальный сервлет.

Одна мысль - это перенаправит что угодно с этим шаблоном URL на сервлет. Если вы хотите, чтобы другие URL-адреса были за этим URL-адресом, вам следует создать сервлет, который будет перенаправлять на правильный URL-адрес (просматривая указанный URL-адрес). В качестве альтернативы, вы можете использовать структуру, которая обеспечивает отображение для вас.

7
ответ дан 28 November 2019 в 07:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: