Servlet - 在同一页面中打印无效密码

时间:2010-11-26 06:54:14

标签: java servlets

我尝试了一个程序,如果用户名匹配密码,欢迎信息应显示在其他页面中。如果没有,则匹配错误应该在同一页面中。我试过这个

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 个答案:

答案 0 :(得分:2)

不要在servlet中使用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}

另见: