
com.zm.servlet包com.zm.servlet包里面。StringBuilder sb = new StringBuilder();//👈
for (int i = 1; i <= 4; i++) {int index = ran.nextInt(str.length());//获取字符char ch = str.charAt(index);//随机字符sb.append(ch);//👈//2.3写验证码g.drawString(ch+"",width/5*i,height/2);
}
String checkCode_session = sb.toString();//👈
//将验证码存入session
request.getSession().setAttribute("checkCode_session",checkCode_session);//👈
webapp文件里面创建login.jsp页面。
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
登录页面
<%= request.getAttribute("cc_error")==null ? "" : request.getAttribute("cc_error")%><%= request.getAttribute("login_error")==null ? "" : request.getAttribute("login_error")%>


<%= request.getAttribute("cc_error")==null ? "" : request.getAttribute("cc_error")%>
<%= request.getAttribute("login_error")==null ? "" : request.getAttribute("login_error")%>
webapp文件里面创建success.jsp文件<%@ page contentType="text/html;charset=UTF-8" language="java" %>
登录成功
<%= request.getSession().getAttribute("user")%>,欢迎您

package com.zm.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.设置编码request.setCharacterEncoding("utf-8");//2.获取参数String username = request.getParameter("username");String password = request.getParameter("password");String checkCode = request.getParameter("checkCode");//3.先获取生成的验证码HttpSession session = request.getSession();String checkCode_session = (String) session.getAttribute("checkCode_session");//删除session中存储的验证码session.removeAttribute("checkCode_session");//4.先判断验证码是否正确if (checkCode_session!= null && checkCode_session.equalsIgnoreCase(checkCode)){//忽略大小写比较//验证码正确//判断用户名和密码是否一致if ("zhangsan".equals(username) && "123".equals(password)){//需要调用UserDao查询数据库//登录成功//存储信息,用户信息session.setAttribute("user",username);//重定向到success.jspresponse.sendRedirect(request.getContextPath()+"/success.jsp");}else {//登录失败//存储提示信息到requestrequest.setAttribute("login_error","用户名或密码错误");//转发到登录页面request.getRequestDispatcher("/login.jsp").forward(request,response);}}else {//验证码不一致//存储提示信息到requestrequest.setAttribute("cc_error","验证码错误");//转发到登录页面request.getRequestDispatcher("/login.jsp").forward(request,response);}}
}
上一篇:【C++学习】类和对象(上)
下一篇:flink入门-流处理