Servlet -печатать неверный пароль на той же странице - PullRequest
2 голосов
/ 26 ноября 2010

Я пробовал программу, в которой, если имя пользователя совпадает с паролем, на другой странице должно отображаться приветственное сообщение. Если это не так, ошибка должна совпадать на той же странице. Я пробовал это

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class WelcomeUser extends HttpServlet {
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        String pwd=request.getParameter("pwd");
        response.setContentType("text/html");
        PrintWriter out=response.getWriter();

        if (!(name.equals(pwd))) {
            out.println("Invalid");
            request.getRequestDispatcher("login.html").forward(request,response);
        } else {
            out.println("<html>");
            out.println("<body>");
            out.println("Welcome"+name);
            out.println("</html>");
            out.println("</body>");
        }
    }
}

Какие изменения я должен внести, чтобы напечатать недопустимого пользователя на той же странице? Он компилируется нормально, но я не получаю недействительным на странице входа в систему

1 Ответ

2 голосов
/ 26 ноября 2010

Никогда не используйте out.print для HTML в сервлете. Там JSP для. Установите его как атрибут запроса и просто дайте JSP отобразить его с помощью EL.

request.setAttribute("message", "Invalid"); // Will be available as ${message}
request.getRequestDispatcher("login.jsp").forward(request,response);

Переименуйте login.html в login.jsp и добавьте следующее где-нибудь рядом с кнопкой отправки.

${message}

Смотри также:

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