在JSP中生成随机验证码可以通过Java的Random类和Servlet的Session对象来实现。以下是一个简单的示例代码。
创建一个Servlet来生成随机验证码并将其存储在Session对象中:

import javax.servlet.http.*;
import java.util.Random;
public class VerificationCodeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 生成随机验证码
String verificationCode = generateRandomCode();
// 将验证码存入session中,以便后续验证
HttpSession session = request.getSession();
session.setAttribute("verificationCode", verificationCode);
// 将验证码输出到页面,此处假设输出到名为"verificationCode.jsp"的页面
RequestDispatcher dispatcher = request.getRequestDispatcher("verificationCode.jsp");
dispatcher.forward(request, response);
}
private String generateRandomCode() {
int codeLength = 6; // 设置验证码长度
Random random = new Random();
StringBuilder code = new StringBuilder();
for (int i = 0; i < codeLength; i++) {
int number = random.nextInt(9); // 生成数字验证码,如果需要字母和数字混合,可以修改此处的范围
code.append(number);
}
return code.toString();
}
}在JSP页面中显示这个验证码:
verificationCode.jsp:

<!DOCTYPE html>
<html>
<head>
<title>验证码</title>
</head>
<body>
<h2>请输入验证码:</h2>
<%
String verificationCode = session.getAttribute("verificationCode").toString();
%>
<input type="text" name="userVerificationCode" value="<%=verificationCode%>"/>
</body>
</html>代码会在用户访问Servlet时生成一个随机验证码,并将其存储在Session对象中,将验证码输出到名为"verificationCode.jsp"的JSP页面,用户可以在该页面上看到并输入验证码,后续可以通过从Session中获取验证码与用户输入的验证码进行比较来验证用户的输入是否正确。



