#java #jakarta-ee #jersey-2.0 #servlet-3.0
#java #джакарта-ee #джерси-2.0 #servlet-3.0
Вопрос:
Во-первых, пожалуйста, простите меня за мой неуклюжий английский.
[Что я хочу сделать]
Я хочу знать, @WebServlet
аннотации Servlet 3.0 и @Path
аннотации Jersey 2.22.2, они могут использовать одно и то же время?
[Что я хочу, так это помочь]
- Могу ли я использовать две аннотации одновременно?
- Если я могу использовать эти аннотации, то как это использовать?
Спасибо.
Ответ №1:
аннотация @Path определяет путь к RESTful веб-сервису, поэтому, когда у вас есть @Path («/SomeService»), это переведет в www.yourapp.com/baseRestUrl/SomeService. Вы также можете определить это в методах, которые предоставляют службы REST. Обратите внимание, что baseRestUrl определен внутри web.xml или в классе, который расширяет класс приложения.
С другой стороны, @WebServlet(«/SomePath») указывает, что сервлет будет прослушивать запрос на www.yourapp.com/SomePath по сути, это замена элемента отображения сервлета в web.xml. Вы все еще можете настроить сервлеты подобным образом, вам решать, предпочитаете ли вы конфигурацию XML или аннотаций.
Комментарии:
1. > Вы все еще можете настроить сервлеты подобным образом, вам решать, предпочитаете ли вы конфигурацию XML или аннотаций. Это также было подтверждено I. Но я не могу получить доступ www.myapp.com/SomePath с
@WebServlet
аннотацией.2. Никто не может помочь с информацией «не удается получить доступ www.myapp.com/SomePath «, Что это за сообщение об ошибке?, как насчет консоли eclipse / журналов ошибок?, пожалуйста, попробуйте подумать таким образом, вы можете поддержать / принять этот ответ, если это поможет.
3. Это означает, что не удалось выполнить сопоставление URL, не удалось найти метод внутри аннотированного класса @Webservlet. См. google.ca / …
4. Я могу получить доступ к www.myapp.com/SomePath с помощью
<servlet-mapping>
. Но я не могу получить к ней доступ с помощью@WebServlet("SomePath")
.5. Спасибо за ответ. Пожалуйста, посмотрите на приведенный ниже исходный код, если это хорошо, если. teratail.com/questions/52080