Ein forward-ändert nicht die URL in der browser-Adressleiste

Ich bin gerade erst mit Servlets/JSP/JSTL und ich habe so etwas wie dieses:

<html>
<body>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<jsp:directive.page contentType="text/html; charset=UTF-8" />

<c:choose>
  <c:when test='${!empty login}'>
    zalogowany
  </c:when>
<c:otherwise>
   <c:if test='${showWarning == "yes"}'>
        <b>Wrong user/password</b>
    </c:if>
    <form action="Hai" method="post">
    login<br/>
     <input type="text" name="login"/><br/>
     password<br/>
     <input type="password" name="password"/>
     <input type="submit"/>
     </form>
  </c:otherwise>
</c:choose>
</body>
</html>

und in meine doPost Methode

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException 
{
    HttpSession session=request.getSession();
    try
    {
        logUser(request);
    }
    catch(EmptyFieldException e)
    {
        session.setAttribute("showWarning", "yes");
    } catch (WrongUserException e) 
    {
        session.setAttribute("showWarning", "yes");
    }
    RequestDispatcher d=request.getRequestDispatcher("/index.jsp");
    System.out.println("z");
    d.forward(request, response);
}

aber etwas ist nicht in Ordnung, denn ich wollte so etwas wie dieses:

  1. wenn Benutzer aktive Sitzung und protokolliert wurde, um das system "zalogowany" sollte zeigen,
  2. sonst Protokollierung form

das problem ist, was ich Tue, diese leitet setz mich nicht auf index.jsp-Datei, die im root-Ordner von meinem Projekt, ich habe noch in meiner Adressleiste Projekt/Hai.

InformationsquelleAutor Andna | 2012-02-10
Schreibe einen Kommentar