@P_Alexander
First head

Как замапить на путь «/» index.html?

Добрый день, учу сприн, как при старте приложение что бы дефолтом вызывался index.html?
то есть если дефолтный путь localhost:8080/MakeYourDream - то на нем я и видел index.html
Все файлы html вот тут лежат - /WEB-INF/view/
Где я ошибся или что я не дописал?
web.xml
<servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/app-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

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

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


spring-servlet
<bean id="templateResolve" class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
        <property name="prefix" value="/WEB-INF/view/"/>
        <property name="suffix" value=".html"/>
        <property name="templateMode" value="HTML5"/>
    </bean>


Controller
@Controller
public class MainController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index(Model model){
        model.addAttribute("message", "Hello index");
        return "index";
    }
}


Стектрейс
14:17:35,048 WARN  [org.springframework.web.servlet.PageNotFound] (default task-1) No mapping found for HTTP request with URI [/MakeYourDream/] in DispatcherServlet with name 'servlet'
14:17:44,292 WARN  [org.springframework.web.servlet.PageNotFound] (default task-1) No mapping found for HTTP request with URI [/MakeYourDream/] in DispatcherServlet with name 'servlet'
14:18:09,112 WARN  [org.springframework.web.servlet.PageNotFound] (default task-1) No mapping found for HTTP request with URI [/MakeYourDream/INDEX] in DispatcherServlet with name 'servlet'
14:18:35,091 WARN  [org.springframework.web.servlet.PageNotFound] (default task-1) No mapping found for HTTP request with URI [/MakeYourDream/index] in DispatcherServlet with name 'servlet'
  • Вопрос задан
  • 1657 просмотров
Решения вопроса 1
@P_Alexander Автор вопроса
First head
Итак Я РЕШИЛ!! прошло каких то 3 дня!!!
В чем была проблема!?!? в то что по дефолту мавен создает проект и сходу лежит index.jsp который будет страницей по умолчанию(если конечно настроить по дефолту на такой путь / ) так как я хотел заюзать шаблоны thymleaf то мне уже .jsp не нужны , мне нужны .html то я создал страничку index.html, а станичку index.jsp не удалил а отметил как текст(в идеи есть такая функция если конкретнее то - Mark as a plain text) так как думал с этой меткой этот файл участвовать не будет, А ВОТ НИХЕРА! БУДЕТ!!! Вообщем видимо при сборке два файла с одинаковыми именами и даже разными расширениями конфликтовали и я хватал такую ошибку.
Удалил файл index.jsp все заработало)))
Лечение простое, НИКОГДА НЕ СОЗДАВАЙТЕ ФАЙЛЫ С ОДИНАКОВЫМИ ИМЕНАМИ.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Это вам в сервлет-контейнере нужно описать, какое приложение у вас будет мапиться по дефолту. Для кота Тома описано здесь - https://tomcat.apache.org/tomcat-7.0-doc/default-s... (файл $CATALINA_BASE/conf/web.xml) и здесь https://stackoverflow.com/questions/14325171/setti...
(можно разместить ваш war-файл как ROOT.war)
Ну а так - курить доки от вашего контейнера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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