zoukankan      html  css  js  c++  java
  • java web 程序---登陆的验证码实现显示

    是一个java文件

    package com.sss;
    
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Random;
    
    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.sun.org.apache.commons.digester.rss.Image;
    
    public class Love2 extends HttpServlet {
    
    	@Override
    	protected void service(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		
    		response.setContentType("image/jpeg");//类型---->一个验证码的图片
    		BufferedImage image=new BufferedImage(120, 30, BufferedImage.TYPE_INT_RGB);
    		Graphics g=image.getGraphics();
    		g.setColor(Color.yellow);
    		g.setColor(new Color(0xFF7F00));
    		g.setFont(new Font("",Font.BOLD,34));
    		g.drawRect(1, 1, 100, 50);
    		String str=run()+run()+run()+run()+run();
    		g.drawString(str, 3, 30);
    		HttpSession session=request.getSession();
    		session.setAttribute("yan", str);
    		ImageIO.write(image, "jpeg",response.getOutputStream() );
    		
    		
    	}
    
    	public String run(){
    			Random r=new Random();
    			int x=r.nextInt(3);
    			char c='u0000';
    			switch(x){
    			case 0:
    				c=(char) (r.nextInt(10)+48);break;
    			case 1:
    				c=(char)(r.nextInt(10)+97);break;
    			case 2:
    				c=(char)(r.nextInt(10)+65);break;
    			
    			
    			}
    			return String.valueOf(c);
    		
    		
    	}
    }
    

      

  • 相关阅读:
    NOJ-1581 筷子 (线性DP)
    UVA-242 Stamps and Envelope Size (DP)
    POJ 1860 (SPFA判断正环)
    POJ 3268 最短路水题
    STL----priority_queue
    STL----unique
    POJ 2031(最小生成树Kruskal算法+几何判断)
    POJ 3468(线段树区间修改+区间求和)
    学习线段树
    POJ 1251(最小生成树裸题)
  • 原文地址:https://www.cnblogs.com/langlove/p/3692963.html
Copyright © 2011-2022 走看看