页面没有显示验证码

这是servlet的代码

package web;

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;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class CheckcodeServlet extends HttpServlet {

private int WIDTH= 80;

private int HEIGHT= 30;

public void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//一、绘图

//step1,创建一个内存映像对象(画布)

BufferedImage image =

new BufferedImage(WIDTH,HEIGHT,

BufferedImage.TYPE_INT_RGB);

//step2,获得画笔

Graphics g = image.getGraphics();

//step3,

Random r = new Random();

//step3,给画笔上一个随机的颜色

g.setColor(new Color(r.nextInt(255),

r.nextInt(255),r.nextInt(255)));

//step4,填充画布

g.fillRect(0, 0, WIDTH, HEIGHT);

//step5,在画布上绘图

//String number = r.nextInt(99999) + "";

String number ="";

//g.setColor(new Color(0,0,0));

for (int i = 0; i

g.setColor(new Color(r.nextInt(255),

r.nextInt(255),r.nextInt(255)));

int h=(int)(HEIGHT*0.3+(HEIGHT*0.7)*r.nextDouble());

g.setFont(new Font(null,Font.ITALIC|Font.BOLD,h));

String str=getNumber(1);

number+=str;

g.drawString(str, i*WIDTH/5, h);

}

//将number 绑定到session上

HttpSession session =request.getSession();

session.setAttribute("number", number);

//step6,设置字体的大小、风格

//g.setFont(new Font(null,

//Font.ITALIC|Font.BOLD,20));

//g.drawString(number, 5, 22);

//加干扰线

for (int i = 0; i

g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255),r.nextInt(255)));

g.drawLine(r.nextInt(WIDTH), r.nextInt(HEIGHT),r.nextInt(WIDTH), r.nextInt(HEIGHT));

}

//二、压缩图片,输出

response.setContentType("image/jpeg");

OutputStream ops =

response.getOutputStream();

//write方法:将原始图片(image)使用

//指定的压缩算法(jpeg)进行压缩,然后

//使用指定的输出流(ops)输出。

ImageIO.write(image, "jpeg",ops);

ops.close();

}/*返回一个指定长度的字符串

要求从A~Z,0~9中随机选取字符

*/

private String getNumber(int size) {

Random r=new Random();

String strs="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

+"0123456789";

String number="";

for (int i = 0; i

number+=strs.charAt(r.nextInt(strs.length()));

}

return number;

}

}

jsp中代码

验证码:

换一张

------解决思路----------------------

订!!!!!!!!!!

------解决思路----------------------

路径对不。看看后台请求到了没?

java 验证码不显示,页面没有显示验证码解决办法相关推荐

  1. Vue通过Axios向后台发送Post请求,浏览器Console提示405,后台显示Get请求不支持--解决办法

    Vue通过Axios向后台发送Post请求,浏览器Console提示405,后台显示Get请求不支持–解决办法 问题场景: axios默认是发送get请求,我要给后台发送一组用户填写的表单数据,逻辑简 ...

  2. Ubuntu连接以太网时显示“设备未托管”的解决办法

    Ubuntu连接以太网时显示"设备未托管"的解决办法 故障分析: 电脑之前可能设置过PPOE(有线宽带虚拟拨号),常见为连接校园拨号宽带. 解决办法: 第一步:打开终端 第二步:切 ...

  3. Linux——Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法

    一.安装Fcitx 1.安装Fcitx所需组件 $ sudo apt install fcitx fcitx-tools fcitx-config* fcitx-frontend* fcitx-mod ...

  4. php怎么显示不了图片,php显示不了图片的解决办法,

    php显示不了图片的解决办法PHP不能显示图片的解决方案,Php不能显示图片,因为源代码中除了img输出还有其他输出.解决方法是在调用头之前取消任何输出. 推荐: <PHP视频教程> 具体 ...

  5. Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法

    Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法 一.问题描述: 好久没有写博客了,被调研和开题的事情折磨得好久没有写日志和学编程了,现在又到了校招的时间,自己基础好差,感 ...

  6. 群晖Synology FileStation不显示Share文件夹的解决办法

    群晖Synology FileStation不显示Share文件夹的解决办法 症状:群晖FileStation中不显示Share文件夹,但是在控制面板→共享文件夹里却显示Share文件夹 解决办法: ...

  7. windows网络连接不显示身份验证标签页解决办法

    windows网络连接不显示身份验证标签页解决办法 之前发现电脑的本地连接的属性标签页中,没有身份验证这一标签页,导致在公司内网中无法是用网线上网,而无线网又不是很稳定.在网上找了很久都没有找到解决办 ...

  8. QQ群文件无法正常显示/微信(PC)电脑端公众号文章打开后显示一片空白的解决办法

    QQ群文件无法正常显示/微信(PC)电脑端公众号文章打开后显示一片空白的解决办法: [解决办法] 1.打开ie浏览器,右上角类似齿轮的图标,找到Internet选项,打开 2.找到局域网设置 3.把下 ...

  9. 谷歌浏览器或者采用Chromium内核浏览器,枫树,金山猎豹等等不显示复选框的解决办法

    谷歌浏览器或者采用Chromium内核浏览器不显示复选框的解决办法,在网上找了好久可以使用下面方法: 在系统任务栏空白处点右键,然后点击属性,然后点击确定,然后刷新一下网页就好啦.  不要问我为什么, ...

  10. tftp在put上传的时候显示File not found的解决办法

    tftp在put上传的时候显示File not found的解决办法 在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改 ...

最新文章

  1. eclipse插件 android模拟器,关于eclipse:ADT插件中的android模拟器没有运行
  2. 当深度学习遇上异构并行计算
  3. java解析xml文档_Java解析xml文件
  4. Keywords Search HDU - 2222(AC自动机模板)
  5. mysql数据库引擎怎么看,值得收藏!
  6. sql server 2008 r2卸载重装_免费下载:Intouch软件、Windows操作系统、SQL数据库,VB6.0、C#...
  7. 互联网晚报 | 4月12日 星期二 | ​A股三大指数集体收涨;国产游戏版号时隔8月重启核发;央行开展200亿元7天期逆回购操作...
  8. Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue-cli)
  9. 2299元!荣耀X30 12+256GB大内存版开售:窄边直屏天花板
  10. Swift3.0P1 语法指南——枚举
  11. winform倒计时
  12. 2022QS世界大学学科排名出炉,计算机学科有哪些信息值得关注?
  13. SpringBoot RESTful API 架构风格实践
  14. 快速排序(填坑与交换)
  15. PHP下载远程图片的几种方法总结
  16. 服务器共享文件打开未响应,win7共享文件夹会话未响应
  17. 树莓派hwclock命令参数及用法详解--linux显示/设置硬件时钟命令
  18. 转载的java面试题(值得推荐)
  19. Linux上重置MySQL密码 错误 ERROR 1045 (28000): Access denied for user ‘‘root‘‘@‘‘localhost‘‘ (using passw...
  20. bootstrap4  黑底白字导航

热门文章

  1. python pcl icp_PCL学习笔记二:Registration (ICP算法)
  2. java编译找不到符号_java编译时找不到符号,怎么处理
  3. 相机标定—— 张正友标定法(1)
  4. 学习笔记(10):程序员的数学:微积分-常用导数(二):最常用到的技巧
  5. 基于有道API的命令行词典(golang版)
  6. 数据结构之数组的存储
  7. 微信支付系列(三)之二维码扫码支付
  8. postman“在Tests中通过data.token获取token失败”的解决方法
  9. 避免360浏览器极速模式自动填充表单
  10. 功能测试怎么做?常用功能测试方法总结