首先放上javaweb的目录结构:
生成验证码的jsp文件【validate.jsp】
<% response.setHeader("Cache-Control", "no-cache"); int width=60,height=20; BufferedImage bufferedImage=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics graphics=bufferedImage.getGraphics(); graphics.setColor(new Color(200,200,200)); graphics.fillRect(0, 0, width, height); Random random=new Random(); int randnum=random.nextInt(8999)+1000; String ranString=String.valueOf(randnum); session.setAttribute("randStr", ranString); graphics.setColor(Color.BLACK); graphics.setFont(new Font("",Font.PLAIN,20)); graphics.drawString(ranString, 10, 17); for(int i=0;i
生成之后直接放在session里面,也是为了后面提交之后的验证(这篇暂时不写验证)其中值得一提的是,这个不能直接访问,要是直接访问就是一堆乱码在浏览器上上显示出来,所以我们要用标签来把它显示出来,显示页面如下:
【lohinFrom】
Insert title herelogin 欢迎登录
其中使用到【login..css】文件
.login{ padding:20px; margin: 0 auto; width:200px; height:300px; border:1px solid #F00; } .message{ magin:0 auto; text-align:center; } .loginin{ margin:0 auto; width:80%; display:block; } .img_code{ margin-left:30px; margin-top:20px; } .box{ margin-top:30px; } .username{ width:100%; margin-top:15px; } .password{ width:100%; margin-top:15px; } .check_code{ margin-top:15px; }
显示结果如下,直接点击验证码可以刷新,验证码刷新的时候,要加一个参数,是为了保证正常刷新。
验证验证码的正确性【judgevalidate.jsp】
Insert title here