Intellij Idea Tomcat и Spring шаблон MVC

Я только начал играть с Spring MVC. Я установил Intellij Idea и Tomcat сервер, а затем создал новый проект из шаблона SpringMVC. Когда я запускаю его, я получил ошибку:

Servlet.init() for servlet mvc-dispatcher threw exception

Я решил это, изменив Java jdk с версии 1.8 до 1.7. Когда я запускаю его, я получил эту ошибку:

java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.pages.hello_jsp

Чтобы исправить это, мне пришлось удалить:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>

из моего файла pom.xml и теперь он работает. Может кто-нибудь сказать мне, почему этот шаблон не будет работать без этих изменений?

Ответ 1

Без дополнительной информации о полученной ошибке я не могу ответить, почему вам нужно было изменить версию Java.

Что касается зависимости servlet-api, это связано с тем, что Tomcat имеет собственную реализацию включенного servlet-api. Так что было столкновение. То, что вам нужно сделать, это добавить зависимость обратно в ваш POM с объемом provided. Таким образом, для вашей среды IDE используется так же, как и во время сборки. (Если, конечно, вы не получаете servlet-api от какого-либо другого, например, от javaee-api).

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>