2017-02-09 9 views
0

В настоящее время я работаю над проектом, который разделен на frontend (html5, jquery, css) и backend (Spring4 mvc with java config -no web.xml-, отображая остальную часть для просмотра, чтобы использовать его), каждый из которых имеет свой собственный pom, который зависит от одного и того же родительского pom.Spring 4 Конфигурация java, разделенные войны для front/backend, установка домашней страницы для localhost: port/myAppsName/

Project's tree structure

Когда я компилирую основной проект, 2 войн генерируются (передняя и бэкенд), который я позже развернуть в

7. кот

Backend работают нормально (я уже протестировал его с psotman), и интерфейс отлично работает, если я открываю html из внешнего tomcat (когда я открываю index.html из папки на моем компьютере). Однако, когда я развертываю фронтменную войну вместе с теневой войной в tomcat и вводим «localhost: 8080/myAppsName /», вызывается http eror 404. Я понимаю, что html не найден, чтобы отобразить страницу индекса.

frontend tree structure

Backend AppConfig.java:

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "org.fedelaper.spring") 
public class AppConfig { 

    @Bean 
    public ViewResolver internalResourceViewResolver() { 
     InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver(); 
     internalResourceViewResolver.setPrefix("/frontend/"); 
     internalResourceViewResolver.setSuffix(".html"); 
     return internalResourceViewResolver; 
    } 

} 

Backend AppInitializer.java:

@SuppressWarnings("unchecked") 
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @SuppressWarnings("rawtypes") 
    @Override 
    protected Class[] getRootConfigClasses() { 
     return new Class[] { AppConfig.class }; 
    } 

    @SuppressWarnings("rawtypes") 
    @Override 
    protected Class[] getServletConfigClasses() { 
     return null; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/" }; 
    } 

} 

У меня есть web.xml в проекте интерфейса, который фактически пуст:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

</web-app> 

Мой вопрос: - Как установить index.html как домашнюю страницу моего приложения при входе в localhost: 8080/myAppsName?

ответ

0

Просто обновите файл web.xml модуля frontend с приветственным файловым списком.

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
</web-app> 
+0

СПАСИБО! Мне также нужно было переместить index.html с "/frontend/index.html" на "/index.html" – fedelaper