DoGet сервлета не вызывается из формы JSP - PullRequest
0 голосов
/ 03 мая 2010

У меня есть этот код на моей странице JSP

<form action="LoginServlet" method="get">
    <input type="text" name="username" /> 
    <input type="text" name="password" /> 
    <input type="submit" value="Submit" />
</form>

и когда я нажимаю Отправить, я получаю:

Страница не может быть отображена Страница вы ищете в настоящее время недоступен. Веб-сайт может быть испытывают технические трудности, или вам может понадобиться настроить ваш браузер Настройки.

и LoginServlet.doGet метод не вызывается. Но когда я снова нажимаю Enter (в адресной строке), вызывается мой метод doGet.

Что не так? Я использую Java EE Eclipse и Tomcat

1 Ответ

1 голос
/ 03 мая 2010

Что находится в вашем файле web.xml?

Ваш файл WEB-INF / web.xml должен связать LoginServlet, указанный в JSP, с классом Java LoginServlet. (Для ясности я изменил название значения.)

Так что если в вашем JSP у вас есть

<form action="jspAction" method="get"> 
    <input type="submit" value="Submit" /> 
</form> 

и ваш класс Java

package com.me

import javax.servlet.*;
import javax.servlet.http.*;

public class LoginServlet extends HttpServlet {
  public void goGet(HttpServletRequest request, 
     HttpServletResponse response)
        throws ServletException, IOException
  {
     //your code
  }
}

Ваш файл web.xml будет иметь

<web-app>
    <!-- Standard Action Servlet Configuration -->
    <servlet>
        <servlet-name>myServletName</servlet-name>
        <servlet-class>com.me.LoginAction</servlet-class>
    </servlet>
    <!-- Standard Action Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>myServletName</servlet-name>
        <url-pattern>jspAction</url-pattern>
    </servlet-mapping>
</web-app>

Таким образом, файл web.xml свяжет myServletName с классом сервлета com.me.LoginAction. Тогда любые запросы к http://localhost:8080/myApp/jspAction будут направлены на myServletName и в конечном итоге на com.me.LoginAction.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...