сервлет не найден браузером, когда он там - PullRequest
0 голосов
/ 19 февраля 2012

Я пытаюсь обработать данные формы и поместить их в базу данных derbi , которая поставляется с netbeans. Сервер, который я использую, - Glassfish .После заполнения формы, когда я нажимаю кнопку отправить данные , в соответствии с обработчиком действия запрос должен следовать сервлету с именем FormHandler.do , но когда я пытаюсь обратиться к странице FormHandler.do это сообщение об ошибке, отображаемое браузером:

This webpage is not found
No webpage was found for the web address: 
file:///W:/UnderTest/WebApplication_GLASSFISH/src/java/FormHandler/FormHandler.do
Error 6 (net::ERR_FILE_NOT_FOUND): The file or directory could not be found.

Но файл находится в том же каталоге, что и HTML-файл (который имеет форму) .Это тип URL, который я даю в теге формы:

<form method="post" action="FormHandler.do"> 
<b>Name:</b><input type="text" name="Name" /> <br /> <br />
<b>Email:</b><input type="email" name="Email" /> <br /> <br />
<b>Password:</b><input type="password" name="Password" /> <br /> <br />
<input type="submit" value="Register" />

В чем может быть причина этой проблемы?

enter image description here

(После того, как запрос переходит к сервлету FormHandler.do , он проверяет (согласно логике) , являются ли текстовые поля пустыми. Если они пусты, он направляет запрос сервлетупоказывает ошибки и, если исправляет, вставляет эти данные в базу данных и показывает сервлет успеха.)

1 Ответ

4 голосов
/ 19 февраля 2012

Веб-страница для веб-адреса не найдена: file: /// W: /UnderTest/WebApplication_GLASSFISH/src/java/FormHandler/FormHandler.do

Вам необходим доступ к Интернетуресурсы по пути HTTP, а не по пути к файловой системе локального диска.Что-то вроде:

http://localhost:8080/WebApplication_GLASSFISH/FormHandler.do

Часть /WebApplication_GLASSFISH является контекстным путем.Неясно, какой из них вы используете, но эта информация напечатана в журнале запуска сервера.Примерно так:

INFO: WebApplication_GLASSFISH was successfully deployed in 3,770 milliseconds.

Вам необходимо убедиться, что URL в адресной строке браузера соответствует этому.

Кроме того, HTML-файлы должны идти в «Веб-страницах», а не в«Исходные пакеты».После перемещения Registration.html в «Веб-страницы» вы можете открыть его по

http://localhost:8080/WebApplication_GLASSFISH/Registration.html

Таким образом, форма будет отправлена ​​на соответствующий URL-адрес сервлетапри условии, что у вас есть

<form action="FormHandler.do">

Это все довольно тривиально.Я бы посоветовал еще раз пройтись по приличной книге / учебнику по сервлетам.Наведите указатель мыши на тег , который вы ставите под вопросом, и нажмите ссылку info , чтобы получить хорошую отправную точку.

...