栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaWeb随机生成网页验证码图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaWeb随机生成网页验证码图片

通过虚拟图片绘制验证码,创建一个类继承HttpServlet,在doGet中实现:

package cn.edu.svtcc.servlet;



import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

@WebServlet("/generateImg")
public class GenerateCodImgServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.生成一张图片
        BufferedImage image=new BufferedImage(201,50,BufferedImage.TYPE_INT_RGB);
        Graphics g=image.getGraphics();

        //产生文字
        String chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String code="";
        for (int i=0;i<6;i++){
            int pos=(int)(Math.random()*chars.length());
            char ch=chars.charAt(pos);
            code=code+ch;
        }

        //在Session中存储code
        req.getSession().setAttribute("code",code);

        //绘制文字
        g.setColor(Color.WHITE);
        g.setFont(new Font("宋体",Font.ITALIC|Font.BOLD,38));
        g.drawString(code,35,40);


        //绘制干扰点
        for (int i=0;i<=100;i++){
            int x=(int)(Math.random()*201);
            int y=(int)(Math.random()*50);
            g.drawOval(x,y,1,1);
        }
        g.dispose();

        //2.将图片发送给浏览器
        //2.1将图片转换为二进制
        ByteArrayOutputStream bos=new ByteArrayOutputStream();
        ImageIO.write(image,"JPEG",bos);
        byte[] buf=bos.toByteArray();
        //2.2发送给浏览器
        resp.getOutputStream().write(buf);
    }


}
Javascript板块,通过使用src="${pageContext.servletContext.contextPath}/generateImg"的方式展示在浏览器当中:

                        
                            
                        


                        
                             
                            
                    

最终结果:

点击链接还有更多相关技术:使用javascript,javaWeb技术实现二手车展系统的后端开发-Java文档类资源-CSDN下载

该贴为此相关技术之一哟!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号