Как зарегистрировать несколько сервлетов в web.xml одним прыжком приложение

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

28
задан Rubens Mariuzzo 29 March 2015 в 02:05
поделиться

2 ответа

Как объясняется в этой ветке в списке рассылки cxf-user, вместо CXFServlet загрузить свой собственный контекст Spring из user-webservice-servlet.xml , вы можете просто загрузить всю партию в корневой контекст. Переименуйте существующий user-webservice-servlet.xml на другое имя (например, user-webservice-beans.xml ) затем измените свой параметр contextConfigLocation на что-то вроде:

<servlet>
  <servlet-name>myservlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>myservlet</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    /WEB-INF/applicationContext.xml
    /WEB-INF/user-webservice-beans.xml
  </param-value>
</context-param>

<servlet>
  <servlet-name>user-webservice</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>user-webservice</servlet-name>
  <url-pattern>/UserService/*</url-pattern>
</servlet-mapping>
17
ответ дан 28 November 2019 в 03:51
поделиться

Используйте config примерно так:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
  <servlet-name>myservlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
  <servlet-name>user-webservice</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
</servlet>

, и тогда вам понадобятся три файла:

  • applicationContext.xml;
  • myservlet-servlet.xml; и
  • user-webservice-servlet.xml.

Файлы * - servlet.xml используются автоматически, и каждый создает контекст приложения для этого сервлета.

Из документации Spring, 13.2. DispatcherServlet :

При инициализации фреймворк из DispatcherServlet , ищите файл с именем [имя-сервлета] -servlet.xml в каталоге WEB-INF вашего веб-сайта приложение и создать бобы определены там (переопределив определения любых бинов, определенных с помощью то же имя в глобальной области действия).

6
ответ дан 28 November 2019 в 03:51
поделиться
Другие вопросы по тегам:

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