Поскольку я обновил Worklight до версии 6.1 (версия плагина eclipse: 6.1.0.00-20131219-1900), сервлет MyServlet, который я создал (и который отлично работал с предыдущей версией), больше не работает ,Worklight 6.1 не загружает мой сервлет
Под «не работает» Я имею в виду, что при запуске сервера Worklight init() больше не выполняется. Это мое Jee обозначение:
@ WebServlet (name = "MyServlet", displayName = "MyServlet", urlPatterns = {"/ MyServlet/*"}, loadOnStartup = 1) public class MyServlet extends HttpServlet {
Я думаю, что запись не распознается новой Worklight и что нужно настроить web.xml. Проблема в том, что web.xml находится внутри войны и перезаписывается каждый раз; любое предложение об этом?
В server.xml у меня есть:
<feature>servlet-3.0</feature>
Проблема сервлета без нагрузки в Worklight 6.1 связано с версией по умолчанию для XML-схемы для дескриптора развертывания сервлетов.
Версия, относящаяся к рабочему свету, должна быть установлена в 3.0 (не 2.4), чтобы обеспечить соблюдение поведения 3.0 (позволяя использовать jee-нотации). В Worklight 6.0 это было 3.0, теперь в Worklight 6.1 установлено значение 2.4. Я заменил вручную элемент WebApp дескриптора в web.xml внутри моей войны проекта с:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
и теперь он работает (мой сервлет загружается!).
Возможно ли восстановить версию 3.0 в Worklight 6.1 по умолчанию?
См. мой отредактированный ответ о вопросе v3. –