我们对上一个例子进行修改,将响应的结果告诉前端的用户,通常是通过req.setAttribute(“消息名称”, “消息内容”);,然后页面使用${消息名称}就能取到值。
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/login") public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 获得用户名 String userName = req.getParameter("userName"); // 获得密码 String userPassword = req.getParameter("userPassword"); if (userName.equals("admin") && userPassword.equals("123456")) { // 把结果保存到请求中 req.setAttribute("message", "验证通过"); } else { // 把结果保存到请求中 req.setAttribute("message", "验证失败"); } // 转向 req.getRequestDispatcher("index.jsp").forward(req, resp); } }
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>index</title> </head> <body> ${message} <form action="/login" method="post"> 用户名:<input type="text" name="userName" /><br> 密码:<input type="password" name="userPassword" /><br> <input type="submit" value="提交" /> </form> </body> </html>
我输入的是用户名是admin,密码是123456,测试结果如下: