@Tushkantchik

Как правильно скомпилировать и запустить сервлет (Tomcat)?

При попытке запустить сервлет возникает ошибка.
Структура проекта.
5aa0314dc5b26893094720.png
web.xml
web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<welcome-file-list>
    <welcome-file>
        myPage.html
    </welcome-file>
</welcome-file-list>



    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>D:\MySite\out\production\MySite\ua\user\project\web\MyServlet.class</servlet-class>

    </servlet>


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


</web-app>

Исходник сервлета
package ua.user.project.web;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter wr = response.getWriter();
        wr.write("Hallo!!");
    }
}


Вот так компилировал сервлет
5aa032397a766390236852.png

При вводе IP/test в браузерную строку вот такая ошибка:
5aa033eb8a77b049676883.png
  • Вопрос задан
  • 261 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому что в теге servlet-class должен быть указан не абсолютный путь к файлу класса, а полное имя класса - ua.user.project.web.MyServlet.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sviato_slav
Ошибка в строке в web.xml:
D:\MySite\out\production\MySite\ua\user\project\web\MyServlet.class
Надо:
ua.user.project.web.MyServlet
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы