在我们进行javaweb书写的时候,有可能你在前端进行的alert语句在一个函数中无法执行,无法进行弹窗输出,所以我们就可以进行后端来编写弹窗语句。话不多说,看秦哥上代码:
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.获取参数
String userName = req.getParameter("userName");
String userPwd = req.getParameter("userPwd");
PrintWriter writer = resp.getWriter();
resp.setContentType("text/html;charset=utf-8");
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
//2.验证用户名称和密码
connection = MayiktJdbcUtils.getConnection();
String loginSql = "SELECT * FROM qhd where name=? and paw=? ";
preparedStatement = connection.prepareStatement(loginSql);
preparedStatement.setString(1, userName);
preparedStatement.setString(2, userPwd);
// resultSet = preparedStatement.executeQuery();
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().print("<script language='javascript'>" +
"alert('恭喜您登录成功!');" +
"window.location.href='showbook.html';</script>')");
Cookie cookie = new Cookie("name", userName);
Cookie cookie2 = new Cookie("paw", userPwd);
cookie.setMaxAge(7 * 24 * 60 * 60);
cookie2.setMaxAge(7 * 24 * 60 * 60);
resp.addCookie(cookie);
resp.addCookie(cookie2);
req.getRequestDispatcher("showbook.html").forward(req, resp);
} else {
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().print("<script language='javascript'>" +
"alert('您输入的账号或密码错误,请重新输入!');" +
"window.location.href='login.html';</script>')");
req.setAttribute("slt","false");
}
} catch (Exception e) {
e.printStackTrace();
writer.println("error");
// 回滚事务
if (connection != null)
MayiktJdbcUtils.rollBackTransaction(connection);
} finally {
if (writer != null) {
writer.close();
}
MayiktJdbcUtils.closeConnection(null, preparedStatement, connection);
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Cookie[] cookies=req.getCookies();
if(cookies!=null) {
String loginname="";
String password="";
for (Cookie cookie : cookies) {
if(cookie.getName().equals("loginname")) {
loginname=cookie.getValue();
}
if(cookie.getName().equals("password")) {
password=cookie.getValue();
}
}
if(!loginname.isEmpty()&&!password.isEmpty()) {
// BookServise bookServise=new BookService();
// User user=UserServise.QueryByLoginname(loginname);
// if(user!=null&&user.getPassword().equals(password)) {
// System.out.println("自动登录成功");
// request.getSession().setAttribute("user", user);
// response.sendRedirect(request.getContextPath()+"/admin/index");
// return;
}
}
}
}
这是前端输出代码,我们可以看到其中的主要部分:
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().print("<script language='javascript'>" +
"alert('恭喜您登录成功!');" +
"window.location.href='showbook.html';</script>')");
这就是后端执行前端代码的主要代码,我们来看一下演示图片。
这是我们输错密码
这是我们输入成功
小伙伴们赶快和你的同桌去试一试把!