jsp验证码怎么写

1. JSP实现验证码 代码怎么写

一个小示例看一下。

验证码 code2.jsp <%@ page language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" pageEncoding="gb2312"%><%try{ response.setHeader("Pragma","no-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); response.setContentType("image/jpeg"); int width = 80; int height = 20; char mapTable[] = {'0','1', '2', '3', '4', '5', '6', '7', '8', '9'}; BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); // 获取图形上下文 Graphics g = image.getGraphics(); // 设定背景颜色 g.setColor(new Color(0xDCDCDC)); g.fillRect(0, 0, width, height); //画边框 g.setColor(Color.black); g.drawRect(0, 0, width - 1, height - 1); // 随机产生的验证码 String strEnsure = ""; // 4代表4位验证码,如果要生成等多位的验证码 ,则加大数值 for (int i = 0; i < 5; i++) { strEnsure += mapTable[(int) (mapTable.length * Math.random())]; } // 将验证码显示在图像中,如果要生成更多位的验证码,增加drawString语句 g.setColor(Color.red); g.setFont(new Font("Atlantic Inline", Font.PLAIN, 18)); String str = strEnsure.substring(0, 1); g.drawString(str, 8, 17); str = strEnsure.substring(1, 2); g.drawString(str, 20, 15); str = strEnsure.substring(2, 3); g.drawString(str, 35, 18); str = strEnsure.substring(3, 4); g.drawString(str, 50, 15); str = strEnsure.substring(4, 5); g.drawString(str, 65, 18); // 随机产生10个干扰点 Random random = new Random(); for (int i = 0; i < 10; i++) { int x = random.nextInt(width); int y = random.nextInt(height); g.drawOval(x, y, 1, 1); } // 释放图形上下文 g.dispose(); session.setAttribute("yanzhengma",strEnsure);//将验证码写入到session ImageIO.write(image, "JPEG", response.getOutputStream()); out.clear(); }catch(Exception e){ response.sendRedirect("log.jsp"); }%> 在 log.jsp里 验证 jsp alt="看不清"/>jsp';return false;">看不清,换一张。

2. Jsp验证码怎么写

验证码: 换一张 你是不是不知道那个图片怎么换啊?我当时也找了好多改变图片的方法,利用系统时间是最好的解决办法。

3. jsp中显示验证码的代码怎么写

import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.util.Random; import javax.imageio.ImageIO;/*生成验证码图片*/ public class MakeCertPic { //验证码图片中可以出现的字符集,可以根据需要修改 private char mapTable[]={ 'a','b','c','d','e','f', 'g','h','i','j','k','l', 'm','n','o','p','q','r', 's','t','u','v','w','x', 'y','z','0','1','2','3', '4','5','6','7','8','9' };/* 功能:生成彩色验证码图片 参数wedth为生成图片的宽度,参数height为生成图片的高度,参数os为页面的输出流*/ public String getCertPic(int width,int height,OutputStream os){ if(width<=0) width=60; if(height<=0) height=20; BufferedImage image= new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //获取图形上下文 Graphics g = image.getGraphics(); //设定背景颜色 g.setColor(new Color(0xDCDCDC)); g.fillRect(0,0,width,height); //画边框 g.setColor(Color.black); g.drawRect(0,0,width-1,height-1); //随机产生的验证码 String strEnsure = ""; //4代表4为验证码,如果要产生更多位的验证码,则加大数值 for(int i = 0;i<4;++i){ strEnsure += mapTable[(int) (mapTable.length*Math.random())]; } //将认证码显示到图像中,如果要生成更多位的验证码,增加drawString语句 g.setColor(Color.black); g.setFont(new Font("Atlantic Inline",Font.PLAIN,18)); String str = strEnsure.substring(0,1); g.drawString(str,8,17); str = strEnsure.substring(1,2); g.drawString(str, 20, 15); str = strEnsure.substring(2,3); g.drawString(str, 35, 18); str = strEnsure.substring(3,4); g.drawString(str, 45, 15); //随机产生15个干扰点 Random rand = new Random(); for(int i=0; i<10; i++){ int x = rand.nextInt(width); int y = rand.nextInt(height); g.drawOval(x,y,1,1); } //释放图形上下文 g.dispose(); try{ //输出图形到页面 ImageIO.write(image, "JPEG", os); }catch (IOException e){ return ""; } return strEnsure; } } makeCertPic.jsp页面用于调用生成验证码图片的JavaBean,并在客户端显示,源代码如下:<%@page contentType="image/jpeg" %><%@page language="java" pageEncoding="utf-8"%><% String str = image.getCertPic(0,0,response.getOutputStream()); //将验证码存入session中 session.setAttribute("certCode",str);%> 下边是登录页面:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><meta ; charset=UTF-8">验证码测试登录页面 <body>

4. Jsp验证码怎么写

<tr>

<td valign="middle" align="right">

验证码:

<img id="num" src="checkCode" />

<a href="javascript:;"

onclick="document.getElementById('num').src = 'checkCode?'+(new Date()).getTime()">;换一张</a>

</td>

<td valign="middle" align="left">

<input type="text" class="inputgri" name="number" />

</td>

</tr>

你是不是不知道那个图片怎么换啊?我当时也找了好多改变图片的方法,利用系统时间是最好的解决办法

5. 在java页面上,用jsp,怎样写一个验证码

//验证码生成页面<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ page import = " java.awt.*,java.awt.image.*,javax.imageio.* " %> <%@ page import = " java.io.OutputStream " %> <%! Color getRandColor( int fc, int bc){Random random = new Random();if (fc > 255 ) fc = 255 ;if (bc > 255 ) bc = 255 ;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r,g,b);}%> <% try {response.setHeader( " Pragma " , " No-cache " );response.setHeader( " Cache-Control " , " no-cache " );response.setDateHeader( " Expires " , 0 );int width = 60 , height = 20 ;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);OutputStream os = response.getOutputStream();Graphics g = image.getGraphics();Random random = new Random();g.setColor(getRandColor( 200 , 250 ));g.fillRect( 0 , 0 , width, height);g.setFont( new Font( " Times New Roman " ,Font.PLAIN, 18 ));g.setColor(getRandColor( 160 , 200 ));for ( int i = 0 ;i < 155 ;i ++ ){int x = random.nextInt(width);int y = random.nextInt(height);int xl = random.nextInt( 12 );int yl = random.nextInt( 12 );g.drawLine(x,y,x + xl,y + yl);}String sRand = "" ;for ( int i = 0 ;i < 4 ;i ++ ){String rand = String.valueOf(random.nextInt( 10 ));sRand += rand;g.setColor( new Color( 20 + random.nextInt( 110 ), 20 + random.nextInt( 110 ), 20 + random.nextInt( 110 )));g.drawString(rand, 13 * i + 6 , 16 );}session.setAttribute("vcode" ,sRand);g.dispose();ImageIO.write(image, "jpg" ,os);os.flush();os.close();os = null ;response.flushBuffer();out.clear();out = pageContext.pushBody();}catch (IllegalStateException e){System.out.println(e.getMessage());e.printStackTrace();} %>//验证码使用页面<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> My JSP 'index.jsp' starting page <meta >。

6. 如何用JSP生成验证码

<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@ page import="java.awt.*" %><%@ page import="java.awt.image.*" %><%@ page import="java.util.*" %><%@ page import="javax.imageio.*" %><%! Color getRandColor(int fc,int bc){ Random r = new Random(); if(fc > 255) fc = 255; if(bc > 255) bc = 255; int red = fc + r.nextInt(bc - fc); int green = fc + r.nextInt(bc - fc); int blue = fc + r.nextInt(bc - fc); return new Color(red,green,blue); }%><% //设置页面不缓存 response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0);//下面开始了--生成图像 Random r = new Random(); int width = 60,height = 20; BufferedImage pic = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics gc = pic.getGraphics(); gc.setColor(getRandColor(200,250)); gc.fillRect(0, 0, width, height); gc.setFont(new Font("Times New Roman",Font.PLAIN,18)); gc.setColor(getRandColor(160,200)); for(int i=0;i<200;i++){ int x1 = r.nextInt(width); int y1 = r.nextInt(height); int x2 = r.nextInt(15); int y2 = r.nextInt(15); gc.drawLine(x1, y1, x2, y2); } gc.setColor(getRandColor(120,240)); for(int i=0;i<100;i++){ int x = r.nextInt(width); int y = r.nextInt(height); gc.drawOval(x, y, 0,0); } String rs=""; String rn=""; for(int i = 0;i<4;i++){ rn = String.valueOf(r.nextInt(10)); rs += rn; gc.setColor(new Color(20+r.nextInt(110),20+r.nextInt(110),20+r.nextInt(110))); gc.drawString(rn,13*i+6,16); } gc.dispose(); try{ session.setAttribute("code", rs);//设置session的属性code为生成的验证码(String类型),JSP中一般靠session等来传递并获得参数 }catch(Throwable t){ getServletContext().log(t.getMessage());//这里是写log,但要抓异常 } ImageIO.write(pic,"JPEG",response.getOutputStream());//输出图片到一页面,就是流 out.clear();//后面一定要关闭流,因为在其他页面会有冲突 out = pageContext.popBody();%>上面时code.jsp另一页面只写一句话就能看到图片:jsp">因为code.jsp可以向某个jsp页面输送一个图片,当然是验证码图片~。

转载请注明出处育才学习网 » jsp验证码怎么写

知识

专业调研报告怎么写

阅读(242)

本文主要为您介绍专业调研报告怎么写,内容包括专业调查怎么写,行业调研报告怎么写,专业调研报告怎么写社会调查报告怎么写社会调查报告怎么写的爱。建筑工程技术专业调研报告随着基础建设的加快,全国进入了快速发展期,太原市建设规模继2003年

知识

人民币大写负数怎么写

阅读(1779)

本文主要为您介绍人民币大写负数怎么写,内容包括人民币大写负数金额写法,负数大写怎么写,怎么写负数大写。A1输入数字,在A2或其它单元格输入公式:=IF(A1="","",IF(ROUND(A1,2)=0,"零",IF(ROUND(A1,2

知识

代写遗嘱怎么写

阅读(167)

本文主要为您介绍代写遗嘱怎么写,内容包括代写遗嘱怎么写才有效,怎样写遗嘱怎样代写遗嘱,怎样写遗嘱怎样代写遗嘱。代书遗嘱,首先要符合遗嘱的一般要求,即立遗嘱人为完全民事行为能力人。限制行为能力人和无民事行为能力人,不能设立遗嘱;立遗嘱

知识

个人解除劳动合同怎么写

阅读(201)

本文主要为您介绍个人解除劳动合同怎么写,内容包括个人提出解除劳动合同怎么写协议书,解除劳动合同申请书怎么写,给员工解除劳动合同怎么写。由于公司从去年开始一直拖欠工资,现在已经有四个多月的工资没发了。再加上公司在未通知员工的情况

知识

java伪代码怎么写

阅读(229)

本文主要为您介绍java伪代码怎么写,内容包括这话要怎么去理解,Java伪代码要怎么写,if条件怎么去写,能写伪代,问Java的伪代码怎么书写,请把下面的java代码用伪代码写出来。伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被

知识

授权链关系怎么写

阅读(196)

本文主要为您介绍授权链关系怎么写,内容包括品牌授权链是什么意思,授权函怎么写,授权书怎么写。函的结构和写法 (一)标题 函的标题一般由发文机关、事由和文种构成,有时也可以只由事由和文种构成。 (二)正文 1.开头。写行文的缘由、

知识

古时候的水怎么写

阅读(214)

本文主要为您介绍古时候的水怎么写,内容包括水在古时候是怎么写的,水字古代怎么写,水在古时候是怎么写的。水就是八卦中的坎,竖起来就是后来的水

知识

保研学术背景怎么写

阅读(242)

本文主要为您介绍保研学术背景怎么写,内容包括关于保研和考研,华东理工大学,急学术背景怎么写还有学习,学术背景怎么写,学术背景怎么写。我有个保研的同学跟你情况差不多 首先不要着急,现在再补发论文肯定来不及,建议不要去做了。这样,填表时

知识

田字拼音本怎么写拼音

阅读(752)

本文主要为您介绍田字拼音本怎么写拼音,内容包括田,拼音怎么写,怎么读,田字拼音怎么拼,田子拼音本上怎么写4了。

知识

在美国林怎么写

阅读(209)

本文主要为您介绍在美国林怎么写,内容包括美国英语名字林发怎么写,Jⅰonglⅰn的汉字怎么写,读,那个什么无声电影,美国的,叫什么林来着知道的请回答,谢谢。写给罗斯福总统的一封信尊敬的罗斯福总统:您好!自从我学了《鹿和狼的故事》后,我便一直

知识

数学期末总结怎么写

阅读(195)

本文主要为您介绍数学期末总结怎么写,内容包括怎么写数学期末总结(急用~~~~),数学卷子总结怎么写有范文最好,数学卷子总结怎么写。数学试卷总结这学期数学可以说已经将初中的所有知识点讲完了,所有的难点我们也都见识了。这次期末考试的题目是

知识

数学纠错本怎么写

阅读(466)

本文主要为您介绍数学纠错本怎么写,内容包括数学纠错本怎么写比较好,数学纠错本怎么写比较好,纠错本要怎么写。数学的纠错本是,并不是自己错一道题就写上一道,数学纠错本上主要是记录那些新的解题方法,或者是自己解不出来的题目。 语文纠错本

知识

松鼠单词怎么写

阅读(339)

本文主要为您介绍松鼠单词怎么写,内容包括松鼠的单词怎么写,松鼠的英文怎么写,松鼠的单词怎么写。松鼠1.squirrel2.PINE SQUIRREL3.SQUIRREL ON HIS WHEEL4.after he had rec

知识

毛笔字朱怎么写

阅读(271)

本文主要为您介绍毛笔字朱怎么写,内容包括朱字书法怎么写,楷书的朱怎么写,朱字有几种写法。楷书的朱(如图):释义读音一[ zhū ]红色:朱红。朱批。朱笔。朱文(印章上的阳文)。朱门(红漆大门,旧时指豪富人家)。2、矿物名:朱

知识

jsp怎么写注释

阅读(224)

本文主要为您介绍jsp怎么写注释,内容包括JSP中注释有几种,JSP中注释有几种,jsp中几注释的区别是什么。在编写程序的时候,每个程序员都要养成给出注释的好习惯,合理、详细的注释有利于代码后期的维护和阅读。在JSP文件的编写过程中共有三种注

知识

jsp怎么写验证码

阅读(187)

本文主要为您介绍jsp怎么写验证码,内容包括JSP实现验证码代码怎么写,在java页面上,用jsp,怎样写一个验证码,Jsp验证码怎么写。一个小示例看一下。。 验证码 code2.jsp <%@ page language="java" import="java.util.

知识

jsp的输出语句怎么写

阅读(973)

本文主要为您介绍jsp的输出语句怎么写,内容包括JSP中如何写输出计算结果的语句,JSP中如何写输出计算结果的语句,jsp循环语句怎么写。jsp脚本中写入:<%int sum=0;for(int i=1;i<=100;i++){sum=sum+i;}%>由于sum的值在这个

知识

jsp注释怎么写

阅读(197)

本文主要为您介绍jsp注释怎么写,内容包括JSP中注释有几种,JSP中注释有几种,jsp注释都有哪几种,区别是什么。在编写程序的时候,每个程序员都要养成给出注释的好习惯,合理、详细的注释有利于代码后期的维护和阅读。在JSP文件的编写过程中共有三

知识

身份验证码怎么写

阅读(162)

本文主要为您介绍身份验证码怎么写,内容包括征信报告的身份验证码怎么填写,,身份验证怎写,在QQ上加好友时身份验证码该怎么写。手持身份证进行扫描识别很多花粉在进行身份证扫描时习惯将身份证平放在桌面上进行扫描但由于拍摄角度和反射的

知识

数字验证码怎么写

阅读(206)

本文主要为您介绍数字验证码怎么写,内容包括数字图形验证码怎么填数字数字四十五=,电脑数字计算验证码怎么填,短信验证码怎么写。您好!不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产

知识

js怎么写验证码

阅读(231)

本文主要为您介绍js怎么写验证码,内容包括JS怎样写验证码,如何用html,css,js写验证码,怎么样用js写验证。个人感觉js验证码没什么用,不过既然进来了,就留个言好了,顺便附上代码如下: <!DOCTYPE html PUBLIC "-//W3C

知识

jsp怎么写for循环

阅读(242)

本文主要为您介绍jsp怎么写for循环,内容包括jsp里的for循环怎么做最简单的就行,JSP中for循环,jsp循环语句怎么写。<OPTION value="ddd"><%kiList.get(i).get("bbb").toString();%></OPTION

[/e:loop]