我尝试了一个程序,如果用户名匹配密码,欢迎信息应显示在其他页面中。如果没有,则匹配错误应该在同一页面中。我试过这个
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>");
}
}
}
我应该在同一页面中打印无效用户做出哪些更改?它编译得很好但我在登录页面中没有变得无效
答案 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}