新页面的下拉框,你重新加载过嘛? 你打开了新的页面,也要像上个页面一样初始化一下下拉框
其次我们要生成验证码并且获取验证码生成的随机字符进行比对(这里的生成验证码的代码我就省略不写了,可以看一下我的生成验证码那篇文章,把下面三句加进去就可以了)
......
static String checkCode_session; //创建一个成员变量
......
checkCode_session = caption.toString(); //在方法中获得验证码随机字符
......
req.getSession().setAttribute("checkCode_session",checkCode_session); //将验证码随机字符保存到Request对象中
......
接下来我们编写一个login
@WebServlet("/login")
public class LoginController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
this.doPost(req,response);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8"); //这里要和你的html页面的编码方式一模一样
String checkCode=req.getParameter("validCode"); //这里我们将用户输入的验证码提取出来
HttpSession session = req.getSession();
String checkCode_session = (String) session.getAttribute("checkCode_session"); //提取出服务器生成的验证码字符串
if(checkCode_session != null && checkCode_session.equalsIgnoreCase(checkCode)){ //进行比对
req.setAttribute("check_result","验证码匹配");
}
else{
req.setAttribute("check_result","验证码不匹配");
}
req.getRequestDispatcher("/login.jsp").forward(req,resp); //转发,可以查看我们是否验证成功了
}
}