Как объявить несколько сервлетов из одного определения класса с помощью аннотации

1

Используя web.xml, я могу объявить несколько сервлетов на основе одного Java-класса, например:

<servlet>
    <servlet-name>servlet1<servlet-name>
    <servlet-class>com.xx.servClass<servlet-class>
</servlet>

<servlet>
    <servlet-name>servlet2<servlet-name>
    <servlet-class>com.xx.servClass<servlet-class>
</servlet>

И затем я могу обслуживать два URL-адреса, используя два сервлета, чтобы они могли выполнять некоторые задачи на основе их идентификаторов, таких как this.getServletName(). Как я могу добиться того же, используя аннотации? Благодарю.

Теги:
servlets
java-ee

1 ответ

2
Лучший ответ

Я не думаю, что можно разместить 2 аннотации @WebServlet в одном классе, однако вы можете достичь своей цели, сопоставляя сервлет с двумя разными URL-адресами, такими как:

@WebServlet(name="Servlet1", urlPatterns={"/url1", "/url2"})
public class ServClass extends HttpServlet {

И затем вы можете определить, какой URL был использован, исследуя объект запроса.

Для справки см. Спецификацию сервлета 3.0.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню