powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
25 сообщений из 25, страница 1 из 1
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037544
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servlet-api в каталоге tomcat-а лежит и сам сервер подключен к eclipse

Если без деббагера то нормально отрабатывает как путем запуска из среды так и позднее уже после аплоада на томкат, а тут валится на выходе из метода doGet с ошибкой Source not found attach source

при этом страница не отображается в браузере но и не прекращает работу

вот аналогичная проблема на http://stackoverflow.com/questions/11836039/where-can-i-get-the-source-code-for-the-servlet-api-jar но судя по всему там ответа нет
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037546
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в дереве библиотек я библиотеки томката вижу подключенными
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037557
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Servlet API на 99% состоит из интерфейсов, абстрактных классов, полей и констант. Там дебажить нечего и незачем.
Сама реализация интерфейсов находится в классах Tomcat.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037562
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodError,

servlet-api.jar не включает исходный код. Поэтому его наличие с ошибкой никак не связано. Попробуйте использовать Maven. У него в репозитории исходники должны быть.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037566
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczCodError,

servlet-api.jar не включает исходный код. Поэтому его наличие с ошибкой никак не связано. Попробуйте использовать Maven. У него в репозитории исходники должны быть.

да я вроде его и не дебажу в том то и дело

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 *
 * @author dmitrii.leontiev
 */
public class FirstServlet extends HttpServlet {
 
    /**
	 * 
	 */
	private static final long serialVersionUID = 1;

	@Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        request.setCharacterEncoding("Cp1251");
 
        // Устанавливаем MIME
        response.setContentType("text/html;charset=UTF-8");
 
        PrintWriter out = response.getWriter();
        out.println("<html><head>");
        out.println("<title>Мой первый сервлет</title></head><body>");
        out.println("<h2>Введите информацию о себе:</h2>");
        out.println("<form method=\"post\" action=\"" + request.getContextPath() + "/firstservlet\">");
        out.println("<table border=\"0\"><tr><td align=\"top\">");
        out.println("Имя:</td> <td valign=\"top\">");
        out.println("<input type=\"text\" name=\"firstname\" size=\"20\">");
        out.println("</td></tr><tr><td valign=\"top\">");
        out.println("Фамилия: </td> <td valign=\"top\">");
        out.println("<input type=\"text\" name=\"lastname\" size=\"20\">");
        out.println("</td></tr><tr><td valign=\"top\">");
        out.println("E-Mail: </td> <td valign=\"top\">");
        out.println("<input type=\"text\" name=\"email\" size=\"20\">");
        out.println("</td></tr><tr><td valign=\"top\">");
 
        out.println("<input type=\"submit\" value=\"Отправить\"></td></tr>");
        out.println("</table></form>");
        out.println("</body></html>");
    } //тут валится
 
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
        request.setCharacterEncoding("Cp1251");
        Enumeration paramNames = request.getParameterNames();
        String parName;
 
        boolean emptyEnum = false;
        if (!paramNames.hasMoreElements()) {
            emptyEnum = true;
        }
 
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
 
        out.println("<html><head>");
        out.println("<title>Отправленные параметры</title></head><body>");
 
        if (emptyEnum) {
            out.println("<h2>Запрос не содержит параметров</h2>");
        } else {
            out.println("<h2>Это значения переданных параметров:</h2>");
        }
 
        while (paramNames.hasMoreElements()) {
            parName = (String) paramNames.nextElement();
            out.println("<strong>" + parName + "</strong> : " + request.getParameter(parName));
            out.println("
");
        }
        out.println("</body></html>");
    }
}



// тут валится - собственно вот тогда и "валится"
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037636
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PrintWriter надо бы закрывать на выходе
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037668
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Принято. Но всё равно ругань. Не могу понять что нужно дебаггеру.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037693
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodError,

http://help.eclipse.org/mars/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/views/breakpoints/ref-breakpoints_view.htm

Дебаггер останавливается в классе, для которого нет исходного кода. Почему он там останавливается, можно посмотреть в списке точек останова.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39037773
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выходе из getWriter() поток флаш-ится автоматически. Но это не относится к использующему его PrintWriter-у.
Его возможно придётся flush-нуть вручную. Возможно поэтому у тебя не видно контента.

Servlet-API дебажить не нужно. Там и так всё хорошо. Ищи тараканов у себя в коде.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038262
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо
вероятно я не до конца понимаю ньюансы эклипсовского дебагера просто
по идее если я не захожу в методы классов servlet-api (иду по F6) то и спускаться туда отладчик не должен
как то не могу уловить смысл

а так код рабочий в принципе вроде бы всё хорошо :)
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038292
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorвероятно я не до конца понимаю ньюансы эклипсовского дебагера просто
по идее если я не захожу в методы классов servlet-api (иду по F6) то и спускаться туда отладчик не должен
как то не могу уловить смысл
Что значит "спускаться". Если находиться в последней строке метода, то F6, будет переходом на вызывающий метод. Вызывающий метод находится в Servlet API. Определиться только надо, то есть отладка, то нет отладки... Так есть или нет? Точки останова все убраны?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038311
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczЧто значит "спускаться". Если находиться в последней строке метода, то F6, будет переходом на вызывающий метод. Вызывающий метод находится в Servlet API.
но я же его (doGet()) переопределил в своем классе? оО
отладчик что переходит в метод родителя?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038323
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorно я же его (doGet()) переопределил в своем классе? оО
И что?

CodErrorотладчик что переходит в метод родителя?
Да, отладчик умеет переходить в методы разных классов. Неожиданно? Если посмотреть на стэк, то можно увидеть куда именно отладчик собрался.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038325
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorотладчик что переходит в метод родителя?
С этого момента - вообще ничего не понятно. Где переходит? Это в этом исходнике или в другом?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038377
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonCodErrorотладчик что переходит в метод родителя?
С этого момента - вообще ничего не понятно. Где переходит? Это в этом исходнике или в другом?
ну да в этом, пошагово прохожу до конца doGet и после завершения прохода (последние фигурные скобки) появляется ошибка и отрисовка страницы "замирает"
ну как бы если отладчик пытается выйти в родительский класс то понятно но почему он туда выходит? у меня же есть свой собственный переопределенный который и дебажу
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038383
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorну да в этом, пошагово прохожу до конца doGet и после завершения прохода (последние фигурные скобки) появляется ошибка и отрисовка страницы "замирает"
ну как бы если отладчик пытается выйти в родительский класс то понятно но почему он туда выходит? у меня же есть свой собственный переопределенный который и дебажу
Фак мой моск. doGet() не единственный метод HttpServlet. Там, например, есть метод service(), который, например, вызывает doGet(). Соответственно, при выходе из doGet() отладчик попадает в service(). Вы вообще не понимаете что такое стэк вызова?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038528
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczCodErrorну да в этом, пошагово прохожу до конца doGet и после завершения прохода (последние фигурные скобки) появляется ошибка и отрисовка страницы "замирает"
ну как бы если отладчик пытается выйти в родительский класс то понятно но почему он туда выходит? у меня же есть свой собственный переопределенный который и дебажу
Фак мой моск. doGet() не единственный метод HttpServlet. Там, например, есть метод service(), который, например, вызывает doGet(). Соответственно, при выходе из doGet() отладчик попадает в service(). Вы вообще не понимаете что такое стэк вызова?

Понимаю конечно.

Не понимаю зачем он туда идет? У меня отладка "моего" doGet(). Если мне надо будет отладить что-то выше (откуда был вызов) то логично начинать отладку оттуда по-моему изначально (в данном случае понятно что там исходников нет но всё же).
Для вас может это и нормальная практика поведения отладчика уже привычная - для меня пока нет.

Ну такие вот ньюансы отладчика чтож будем знать.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038535
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorНе понимаю зачем он туда идет? У меня отладка "моего" doGet(). Если мне надо будет отладить что-то выше (откуда был вызов) то логично начинать отладку оттуда по-моему изначально (в данном случае понятно что там исходников нет но всё же).

При чем здесь "начать"? Отладчик находится в последней строке метода. Вызывается команда Step Over. Куда должен перейти отладчик? Остаться на месте?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038581
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczCodErrorНе понимаю зачем он туда идет? У меня отладка "моего" doGet(). Если мне надо будет отладить что-то выше (откуда был вызов) то логично начинать отладку оттуда по-моему изначально (в данном случае понятно что там исходников нет но всё же).

При чем здесь "начать"? Отладчик находится в последней строке метода. Вызывается команда Step Over. Куда должен перейти отладчик? Остаться на месте?
Нет конечно. Но почему он пошел искать метод у родительского класса. Причем он тут вообще? У меня свой класс пусть и унаследованный от. Должна отрисоваться страничка далее молча. doGet отработал и всё.

Или вы хотите сказать что изначально томкат обрабатывает клентский запрос классами непосредственно servlet-api (HttpServlet именно) уже которые вызывают классы наследников для обработки в переопределенных методах полученной информации?

Нет я не издвеваюсь не подумайте. Пара месяцев над core в качестве опыта не дают мне понятно сформулировать мысль просто :)
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038597
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorНет конечно. Но почему он пошел искать метод у родительского класса. Причем он тут вообще? У меня свой класс пусть и унаследованный от. Должна отрисоваться страничка далее молча. doGet отработал и всё.

Step Over обозначает переход к следующей строке, которая будет исполнятся. Если вам нужно отпустить отладку, нужно было нажимать Continue.

CodErrorИли вы хотите сказать что изначально томкат обрабатывает клентский запрос классами непосредственно servlet-api (HttpServlet именно) уже которые вызывают классы наследников для обработки в переопределенных методах полученной информации?

Ну, грубо говоря, да, "обрабатывает" сначала servlet-api, хотя термин "обрабатывает" тут вообще ни к месту.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038601
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНу, грубо говоря, да, "обрабатывает" сначала servlet-api, хотя термин "обрабатывает" тут вообще ни к месту.

ну служит так сказать "прокладкой" потому как принимает запрос и ретранслирует его содержимое тому классу который отвечает за этот url согласно описанию в web.xml в контейнере томката
ну и в обратную сторону соответственно

как то так в принципе?
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038621
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodErrorну служит так сказать "прокладкой" потому как принимает запрос и ретранслирует его содержимое тому классу который отвечает за этот url согласно описанию в web.xml в контейнере томката
ну и в обратную сторону соответственно

как то так в принципе?

Вот тут на картинке в левом верхнем углу Call Stack.
https://www.clear.rice.edu/comp310/Eclipse/debug_screen_annotated.png
Вам стоит разобраться что он показывает.
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038660
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот точка останова
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038662
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот стек вызовов и подсветил вызывающий метод
...
Рейтинг: 0 / 0
debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
    #39038665
CodError
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но и собственно местонахождение класса в котором этот метод вызван
это не мой класс, ну и поведение отладчика ясно

вобщем ответ на мой вопрос лежал не в полоскости почему требуется сторонний класс а вообще в механизме приема запроса и его передачи для обработки уже в мой метод

я то думал что сторонний класс служит только в качестве шаблона для моего и не более. а оно вишь как - мой класс всего лишь обработчик для стороннего

вот так, спасибо за то что помогли вникнуть в суть мехнизма :)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / debuger Eclipse (+ tomcat) ошибка, не видит servlet-api
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]