<%--
  Created by IntelliJ IDEA.
  User: Dell
  Date: 2021/4/10
  Time: 14:34
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="dologin.jsp" method="post">
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    验证码:<input type="text" name="inputVcode"/><img src="/WebProject_war_exploded/createCode"><br/>
    <input type="submit" value="登录">
</form>
</body>
</html>

  dologin.jsp

<%@ page import="java.sql.*" %><%--
  Created by IntelliJ IDEA.
  User: Dell
  Date: 2021/4/10
  Time: 14:38
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String uname = request.getParameter("username");
    String upwd = request.getParameter("password");
    String inputVcode = request.getParameter("inputVcode").toLowerCase();
    String realInputVcode =(String) session.getAttribute("codes");

    String realUname="";
    String reaslPassword = "";

    Class.forName("com.mysql.jdbc.Driver");

    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root");

    PreparedStatement preparedStatement =connection.prepareStatement("SELECT * FROM dl where uname = ?");
    preparedStatement.setString(1,uname);


    ResultSet rs = null;
    try {
        rs = preparedStatement.executeQuery();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    //如果有数据,rs.next()返回true
    while(rs.next()){
       realUname = rs.getString("uname");
       reaslPassword = rs.getString("upwd");
    }

    if(uname.equals(realUname)&&upwd.equals(reaslPassword)&&inputVcode.equals(inputVcode)){
        HttpSession httpSession = request.getSession();
        httpSession.setAttribute("username",uname);
        httpSession.setAttribute("password",upwd);
        response.sendRedirect("success.jsp");
    }else {
        response.sendRedirect("login.jsp");
    }
%>
</body>
</html>

  success.jsp

<%--
  Created by IntelliJ IDEA.
  User: Dell
  Date: 2021/4/10
  Time: 15:20
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String username =(String) session.getAttribute("username");

    if(username==null){
        response.sendRedirect("login.jsp");
    }
%>
欢迎你<%=username %>
</body>
</html>
package com.dx.yzm;

import cn.dsna.util.images.ValidateCode;

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 javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "CreateCodeController",value = "/createCode")
public class CreateCodeController extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.创建验证码图片
        ValidateCode code = new ValidateCode(200,30,4,20);
        String codes = code.getCode();
        HttpSession session = request.getSession();
        session.setAttribute("codes",codes);
        //2.验证码图片响应给客户端
        code.write(response.getOutputStream());
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}