java完成验证码功能出现问题 100
在网上找了一套代码,但是验证码并未正确显示,想请大神帮看一下哪里出现问题。servlet代码如下protectedvoiddoGet(HttpServletRequest...
在网上找了一套代码,但是验证码并未正确显示,想请大神帮看一下哪里出现问题。servlet代码如下protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 告知浏览当作图片处理 response.setContentType("image/jpeg"); // 告诉浏览器不缓存 response.setHeader("pragma", "no-cache"); response.setHeader("cache-control", "no-cache"); response.setHeader("expires", "0"); // 产生由4位数字构成的验证码 int length = 4; String valcode = ""; Random rd = new Random(); for(int i=0; i<length; i++) valcode+=rd.nextInt(10); // 把产生的验证码存入到Session中 HttpSession session = request.getSession(); session.setAttribute("valcode", valcode); // 产生图片 int width = 80; int height = 25; BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取一个Graphics Graphics g = img.getGraphics(); // 填充背景色 g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); // 填充干扰线50 for(int i=0; i<50; i++){ g.setColor(new Color(rd.nextInt(100)+155,rd.nextInt(100)+155,rd.nextInt(100)+155)); g.drawLine(rd.nextInt(width), rd.nextInt(height),rd.nextInt(width), rd.nextInt(height)); } // 绘制边框 g.setColor(Color.GRAY); g.drawRect(0, 0, width-1, height-1); // 绘制验证码 Font[] fonts = {new Font("隶书",Font.BOLD,18),new Font("楷体",Font.BOLD,18),new Font("宋体",Font.BOLD,18),new Font("幼圆",Font.BOLD,18)}; for(int i=0; i<length; i++){ g.setColor(new Color(rd.nextInt(150),rd.nextInt(150),rd.nextInt(150))); g.setFont(fonts[rd.nextInt(fonts.length)]); g.drawString(valcode.charAt(i)+"", width/valcode.length()*i+2, 18); } // 输出图像 g.dispose(); ImageIO.write(img, "jpg", response.getOutputStream()); }jsp代码如下验证码:<input name="vcode"type="text"class="input02"id="vcode"> <img src="ValcodeServlet" align="absmiddle" title="看不清,点击换一张"onClick="this.src=this.src+'?'"/>报错以及图片问题如图
展开
1个回答
2017-09-13
展开全部
java完成验证码功能出现问题
实现jiava短信验证码可以按下面的步奏进行:
1、首先,找到一个支持Java语言的接口短信平台。
2、接着下载接口文档,和自己的开发平台进行对接。
3、注意在对接之前测试一下短信的速度,一旦对接好想换就比较麻烦,之前就吃过这个亏,最后有个朋友介绍我去短信网。
4、如果要购买的话,一定要多测试几家。
实现jiava短信验证码可以按下面的步奏进行:
1、首先,找到一个支持Java语言的接口短信平台。
2、接着下载接口文档,和自己的开发平台进行对接。
3、注意在对接之前测试一下短信的速度,一旦对接好想换就比较麻烦,之前就吃过这个亏,最后有个朋友介绍我去短信网。
4、如果要购买的话,一定要多测试几家。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询