Статьи, которые я прочитал в Google, подразумевают, что я должен включить servlet-api.jar в свой проект. Я так и сделал, но он не работает
Вы должны не сделать это. Это рецепт для большего количества проблем. См. Также Как импортировать API javax.servlet в мой проект Eclipse? Удалите эти файлы из своего проекта.
Возвращаясь к вашей первоначальной проблеме, я понимаю, что вы уже сталкивались с этой проблемой до того, как вы попытались ее решить, включив в свой проект JAR-файлы, специфичные для контейнера сервлетов.
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax / servlet / ServletInputStream
Этот тип ошибки произойдет, если вы включили JAR-файл, который в свою очередь зависит от класса javax.servlet.ServletInputStream
в неправильном месте в пути к классам, там, где загрузчик классов не знает о классах, которые загружаются сам контейнер сервлетов. Например, если вы включили JAR-файл Apache Commons FileUpload в собственную папку JRE/lib
или JRE/lib/ext
JRE вместо собственной папки /WEB-INF/lib
веб-приложения. Вы должны , а не поместить специфичные для приложения классы в библиотеку JRE. Удалите эти файлы из библиотеки JRE. Это распространенная ошибка новичка, когда они столкнулись с ошибкой компиляции при использовании javac
без правильного аргумента -cp
/ -classpath
.