您好,登录后才能下订单哦!
本篇内容介绍了“如何用jsp实现图形验证”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
jsp实现图形验证: 原理,在servlet中随机生成一个4位数字1000-9999然后把这数字写入session输出一个图片,上面写有这四个数字在服务器端根据用户输入的数字和 session中的值比较.......
  原理,在servlet中随机生成一个4位数字1000-9999然后把这数字写入session输出一个图片,上面写有这四个数字在服务器端根据用户输入的数字和 session中的值比较。
package   com.schoolwx.util;     
  import   java.io.*;     
  import   java.util.*;     
  import   com.sun.image.codec.jpeg.*;     
  import   javax.servlet.*;     
  import   javax.servlet.http.*;     
  import   java.awt.*;     
  import   java.awt.image.*;     
  public   class   getImg   extends   HttpServlet   { 
  private   Font   mFont=new   Font("宋体",   Font.PLAIN,12);//设置字体
  //处理post
  public   void   doPost(HttpServletRequest   request,HttpServletResponse   response)
  throws   ServletException,IOException   { 
  doGet(request,response); 
  }
  public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)
  throws   ServletException,IOException   { 
  //取得一个1000-9999的随机数
  String   s="";
  int   intCount=0;
  intCount=(new   Random()).nextInt(9999);//
  if(intCount<1000)intCount+=1000; 
s=intCount+""; 
  //对session付值。
  HttpSession   session=request.getSession   (true); 
  session.setAttribute("getImg",s); 
  response.setContentType("image/gif");
  ServletOutputStream   out=response.getOutputStream(); 
  BufferedImage   image=new   BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);
  Graphics   gra=image.getGraphics(); 
  //设置背景色
  gra.setColor(Color.yellow); 
  gra.fillRect(1,1,33,12);
  //设置字体色
  gra.setColor(Color.black);
  gra.setFont(mFont);
  //输出数字
  char   c;
  for(int   i=0;i<4;i++)   {
c=s.charAt(i); 
  gra.drawString(c+"",i*7+4,11);   //7为宽度,11为上下高度位置
  } 
  JPEGImageEncoder   encoder=JPEGCodec.createJPEGEncoder(out);
  encoder.encode(image); 
  out.close();
  } 
  }
“如何用jsp实现图形验证”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。