2015-01-19 3 views
1

У меня есть 2 разных проекта войны. И я хотел бы объединить этот проект с одной войной. Каждый из них - проект Spring.
Весенний проект имеет конфигурацию на основе Java. Каждый проект имеет аналогичные контроллеры и компоненты.
Я хотел бы сделать sturcture так:
локальный: 9080/общие/project1
локальный: 9080/общие/project2
Как web.xml должно быть?Как объединить два веб-проекта?

мой web.xml:

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>bla.bla.web.WebConfig</param-value> 
</context-param> 
<context-param> 
    <param-name>contextClass</param-name> 
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> 
</context-param> 

<servlet> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value></param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/project1/*</url-pattern> 
</servlet-mapping> 
+0

Вам просто нужно развернуть войны в одном котом (или другой веб-контейнер). для tomcat: развертывание проекта в webapps/project1 и webbapps/project2. – Cuzz

+0

Что находится в вашем web.xml сейчас? Обычно web.xml указывает только точку входа для контекста SPring. Кроме того, поскольку вы используете Spring с конфигурацией Java, подумайте о том, чтобы полностью избавиться от web.xml (если вы являетесь пользовательским сервлетами 3 и выше) http://docs.spring.io/spring-framework/docs/4.1.x/ javadoc-api/org/springframework/web/WebApplicationInitializer.html – Leon

+0

@Leon Я добавил, что мой web.xml формирует одну войну на вопрос. Как добавить конфигурацию для/project2/* – drqua

ответ

0

Как указано Cuzz, просто развернуть обе войны в котом. Каждый из них будет работать независимо, так как они имеют разные сервлет-отображения.

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/project1/*</url-pattern> 
</servlet-mapping> 

и второй:

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/project2/*</url-pattern> 
</servlet-mapping> 

Но я бы рекомендовал вам переместить содержимое обоих вместе. Тогда, например, если ваш сервлет-отображение:

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/common/*</url-pattern> 
</servlet-mapping> 

В контроллерах вы будете иметь:

@Controller 
@RequestMapping(value = "/project1") 

и для второй:

@Controller 
@RequestMapping(value = "/project2") 
+0

Я думаю, что это будет проблема при совместном сеансе. – Ivan

Смежные вопросы