2014-09-25 2 views
0

Я получаю статус HTTP 404, когда я вызываю сервлет с страницы JSP.Статус HTTP 404 - не найден по вызову сервлета

Вот web.xml:

<servlet> 
    <servlet-name>Register</servlet-name> 
    <servlet-class>servlets.dataio.registration.Register</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Register</servlet-name> 
    <url-pattern>/Register</url-pattern> 
</servlet-mapping> 

Вот эффективный код JSP: сообщение

<form name="admin-form" action="Register" method="POST"> 

Ошибка:

HTTP Status 404 - Not Found 

type Status report 

message: Not Found 

description: The requested resource is not available. 

структура Справочник является:

Web Pages --> Pages --> Registration --> registerpage.jsp 

Я попытался Чистый и строительный проект. Я использую IDE NetBeans и GlassFish сервер

+1

Очистить и построить проект и попробовать деполи и запустить. – Sunny

+0

Является ли файл JSP под некоторой папкой? Это должно быть просто под 'Web-страницами', так как вы используете' action = "Register" ' – lxcky

+0

ответ

1

Try:

action="../../Register" 

Чтобы сделать вашу страницу относительно того, где находится сервлет.

../ означает один каталог вверх. И на основе структуры каталогов вы в курсе, это две папки вниз под Web Pages так что вам нужно два ../, чтобы сделать его относительно того, где ваш сервлетов, который, на основе <url-pattern>/Register</url-pattern> смысл только под Web Pages

0

попытка действий = "/ Регистрация"

и эта линия является «причиной сообщение должно быть не менее 30 символов

+0

не сработал .. –

+0

зарегистрированы какие-либо другие сервлеты? –

0

action атрибут использует относительный путь по умолчанию, поэтому, если ваш jsp доступен в http://yourHost/yourApp/pathToJsp/registerpage.jsp, то ваш относительный путь сервлета будет http://yourHost/yourApp/pathToJsp/Register, что является неправильным.

У вас есть два варианта:

  • использовать относительный путь, как J.Lucky предложил - но его к ошибкам, так как вы должны исправить это в каждой JSP, или, если вы двигаетесь в JSP вам структуру каталогов
  • use absoulute path - начать с/- но вам нужно указать свое имя для контекста, например: /yourContext/Register. Если вы хотите избежать жесткого корня контекста кодирования, вы можете использовать метод request.getContextPath(), например, этот action='<%=request.getContextPath()%>/Register'