Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14

На сайте не срабатывает сервлет

08.04.2012, 17:15. Показов 3225. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Ошибка следующая: настроил tomcat, jsp страницу видно из интернета ( http://109.229.139.78/ - не обращайте внимание на интерфейс! ), при попытки обратиться к моему сервлету выдает ошибку (не находит файл), а должен был выдать страницу сервлета по умолчанию.
Форма для отправки данных следующая:
HTML5
1
<form name="choicevisitors" action="<%=request.getContextPath()+"/NewServlet"%>" method="post">
В Нетбинсе все работает и все находит! Возможно при настройки tomcat забыл установить какие-то параметры?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2012, 17:15
Ответы с готовыми решениями:

На удалённом веб-сервере не срабатывает сервлет
Добрый день ! Не знаете ли есть какие-нибудь подводные камни при обращении к Java-сервлету, который я разместил на удалённом сервере. ...

Авторизация на сайте: не срабатывает редирект
Да, я знаю, что существует куча апи(вроде как), но я пытаюсь все же постигнуть работу с http, парсингом сайтов и прочего. Сейчас пытаюсь...

Регулярка срабатывает на сайте но в коде не находит совпадения
Есть такой html текст &lt;li&gt; &lt;strong&gt;Продавец&lt;/strong&gt; Руслан &lt;/li&gt; &lt;li class=&quot;para m_item_phone&quot;&gt; &lt;strong&gt;Телефон&lt;/strong&gt;...

25
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
08.04.2012, 17:21
CMepTb, попробуйте так:
HTML5
1
<form name="choicevisitors" action="NewServlet" method="post">
без "<%=request.getContextPath()",
1
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
08.04.2012, 18:52  [ТС]
нет, не помогло =(
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
08.04.2012, 18:56
CMepTb, а если локально запустить на компьютере, но не из нетбинз, а напрямую из томката - работает?
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
08.04.2012, 19:15
А как web.xml выглядит?
0
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
08.04.2012, 21:11  [ТС]
Eugene22, нет, локально тоже не запускается!

XHelp, web.xml большой, что конкретно надо там смотреть?
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
08.04.2012, 21:24
Данные относительно NewServlet
0
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
08.04.2012, 21:27  [ТС]
Никаких настроек относительно NewServlet я туда не заносил!
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
08.04.2012, 21:56
А как тогда осуществляется mapping? через аннтоацию @WebServlet?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
08.04.2012, 22:17
глянул на сайте у тебя
маппинга на него нету по видимому вообще, добавь в web.xml

XML
1
2
3
4
5
6
7
8
<servlet>
        <servlet-name>NewServlet</servlet-name>
        <servlet-class>path.to.class.NewServlet</servlet-class>
</servlet>
<servlet-mapping>
        <servlet-name>NewServlet</servlet-name>
        <url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
08.04.2012, 22:41
Цитата Сообщение от mutagen Посмотреть сообщение
маппинга на него нету по видимому вообще, добавь в web.xml
Как минимум tomcat определяет, что это Servlet, т.е. mapping где-то происходит (иначе-бы выдавало ошибку "ресурс не найден"). Я думаю что где-то просто не правильно указан путь к классу.
0
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
08.04.2012, 23:01  [ТС]
mutagen, это не помогло, но я уже уверен что дело именно в маппинге, осталось мне понять как правильно его настраивать))

Добавлено через 2 минуты
XHelp, я смотрю ты в принципе уже понял в чем дело, если можешь объясни как можно проще про маппинг =)
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
08.04.2012, 23:18
маппинг это грубо говоря метод, что бы дать доступ пользователю к конкретным сервлетам. Например есть класс com.super.app.view.core.FirstServlet, как к нему обратиться через браузер? Для этого в web.xml создаётся сначала записать самого сервлета:
XML
1
2
3
4
5
<web-app....
  <servlet>
    <servlet-name>FirstServletWorkName</servlet-name>
    <servlet-class>com.super.app.view.core.FirstServlet</servlet-class>
  </servlet>
А потом этому сервлету присваивается какой-нибудь путь, напрмер:
XML
1
2
3
4
5
<web-app...
  <servlet-mapping>
    <url-pattern>/first</url-pattern>
    <servlet-name>FirstServletWorkName</servlet-name>
  </servlet-mapping>
И если обращятся к host/app/first, то обращение будет переадресованно к FirstServlet.
В 3тей API сервлетов, эту штуку можно делать с помощью аннотаций:
Java
1
2
3
4
@WebServlet(
name = "FirstServletWorkName", 
urlPatterns = {"/first"})
public class FirstServlet extends HttpServlet {
Тогда servlet container сам сосканирует эти аннотации и создаст из них свой web.xml

Но из меня плохой объясняка, так что лучше почитать в какой-нибудь статье или книге.

Насчёт твоей проблеммы: нужно уже конкретнее смотреть на код/настройки.
2
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
08.04.2012, 23:40
Цитата Сообщение от CMepTb Посмотреть сообщение
осталось мне понять как правильно его настраивать
то что я написал какраз и было правильной настройкой маппинга при помощи xml ))
если оно не помогло, то у тебя:
1. сервлет неправильно написан
2. сервлет находится по неправильному пути (отличается от маппинга)
3. ссылка для вызова у тебя ведёт не на http://host/app/servlet а на http://host/servlet
1
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
09.04.2012, 00:04  [ТС]
mutagen, 1 я откидываю, так как сервлет пустой, и он работает в нетбинсе.
2 - наверняка так и есть, ты написал что мой сервлет находится в /NewServlet относительно jsp ? даже если я прописываю полный путь к java файлу
XML
1
<url-pattern>C:/apache-tomcat-7.0.27/webapps/WebApplication2/src/java/NewServlet</url-pattern>
то все равно ошибка.
3 - ссылка для вызова у меня определяется вот так
HTML5
1
action="<%=request.getContextPath()+"/NewServlet"%>"
Добавлено через 8 минут
ой, про url-pattern - это я загнул, нельзя так делать, я понял)))
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
09.04.2012, 00:06
Ты же сказал, что локально сервлет тоже не работает. А теперь говориш что в нетбинсе работает. Это как?
0
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
09.04.2012, 00:08  [ТС]
непонятно только, как tomcat узнает в какой папке находится мой сервлет, я же нигде не указываю к нему путь.

Добавлено через 1 минуту
Локально я имел ввиду что если с самого сервера зайду на сайт как localhost, в нетбинсе все работает, он в отличие от меня знает как прописывать пути к проекту))
0
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
09.04.2012, 00:28
Ты указываеш класс сервлета, этого достаточно.

Удали всё что лишнее и покажи исходники всего, что осталось.
0
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 14
09.04.2012, 00:39  [ТС]
Тебя интересуют исходники сервлета?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class NewServlet extends HttpServlet {
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
  //       TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
  
        } finally { 
            out.close();
        }
 
 
    }
или web.xml?
XML
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
79
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">
                                                  
 
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
 
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
 
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>
 
 
    <servlet>
            <servlet-name>NewServlet</servlet-name>
            <servlet-class>path.to.class.NewServlet</servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>NewServlet</servlet-name>
            <url-pattern>/NewServlet</url-pattern>
    </servlet-mapping>
 
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
 
 
    <mime-mapping>
        <extension>123</extension>
        <mime-type>application/vnd.lotus-1-2-3</mime-type>
    </mime-mapping>
 
<!--    И еще куча миме-маппингов .....
                   -->
 
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
 
</web-app>
Вроде ничего лишнего не удалил
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.04.2012, 01:31
эй - эй ребяты, он в главном веб хмл для томката всё творит )))
всё понятно )))
короче берём и идём читать книжку http://keyboardsamurais.de/200... -_english/

после прочтения этого руководства для чайников, читаем доки по томкату и акцентируем внимание на
1. деплой (необязательно, но важно если паковать в WAR)
2. пути размещения приложений в каталине (где должны лежать приложения по умолчанию или как прописать путь к корневой папке сервера)
3. что должно входить в приложение war (папки, либки, хмл, манифест и тд и где оно должно лежать)

я вообще поражаюсь как люди берутся написать хело ворд не прочитав хотябы пару строк документации, надеюсь на атомных станциях всётаки читают доки )))
да и ещё нетбинс редиска, у него в проекте всё валяется совсем не так как в результирующем приложении и это ставит людей в тупик (в эклипсе понятнее)

лучше всего всю структуру директорий и фалов требующихся для томката создавать руками без нетбинсов и прочих ИДЕ
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2012, 01:31
Помогаю со студенческими работами здесь

Авторизация на сайте с помощью CURL срабатывает только после обновления страницы.
написал код для авторизации на wordpress. код при тестировании работает, только при 1 но(!) авторизовывается только при обновлении...

Запрос срабатывает в SQL Server, но не корректно срабатывает в Visual Studio 2017
(SELECT ROW_NUMBER() over (ORDER BY AVG(Отметки.Отметка) DESC) ID, .ФИО, .Группа, Отметки., Отметки.Полугодие, AVG(Отметки.Отметка) AS...

Таймер срабатывает раньше времени или вообще не срабатывает
Помогите, пожалуйста, разобраться, что нетак с таймером. Браузер Chrome При создании записи, создаётся заметка со следующими...

Сервлет
Господа, молю о помощи. Есть задание, реализовать простой сервлет, который предоставляет выбор языка(рус, англ, укр), при выборе языка,...

Сервлет
По неизвестным причинам не хочет работаь сервлет( Вроде всё правильно, всё компилируется. Но сервер, якобы, просто его не видит. 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru