本关任务:使用servlet生成验证码。
web.xml中的代码已经添加,按照上述步骤编写servlet代码,点击测评即可。
效果图:

第一关只需按照相关知识中给出的代码照抄即可通关!

本关任务:编写程序验证验证码是否正确。
好了,该你啦,使用本关所学内容,完成登录的校验,具体要求如下:

PrintWriter writer=resp.getWriter();
String verifycode=req.getParameter("verifycode");
String username=req.getParameter("username");
String password=req.getParameter("password");
HttpSession session=req.getSession();
String realCode=(String) session.getAttribute("sessionYzm");
if(verifycode!=null && verifycode.equals(realCode)){
if("admin123".equals(password) && "admin".equals(username)){
writer.write("登录成功");
}else{
writer.write("登录失败");
}
}else{
writer.write("验证码错误");
}
本关任务:使用Kaptcha组件生成验证码,并校验验证码是否正确。
好了,到你啦,来使用Kaptcha生成验证码并校验输入的验证码是否正确吧。


PrintWriter out=resp.getWriter();
HttpSession session=req.getSession();
String trueCaptcha=(String) session.getAttribute(Constants.KAPTCHA_SESSION_KEY);
String inputCaptcha=req.getParameter("captcha");
if(trueCaptcha.toLowerCase().equals(inputCaptcha.toLowerCase())){
out.write("验证码输入正确");
}else{
out.write("验证码输入错误");
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Titletitle>
<script type="text/javascript">
function reloadCode(){
var date=new Date().getTime();
document.getElementById("code").src="<%=request.getContextPath() %>/imageKaptcha?d="+date;
}
script>
head>
<body>
<form action="checkCaptcha.jsp" method="post">
<img alt="验证码" src="imageKaptcha" id="code"><a href="javascript:reloadCode();">看不清a>
<input type="text" name="captcha">
<input type="submit" value="submit">
form>
body>
html>