java---验证码技术演示网页显示(XML 网页 javaservlet)
2016-07-19 00:07
495 查看
XMLDoucoument
<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>imgServlet2</servlet-name> <servlet-class>cn.hncu.img.ImageServlet2</servlet-class> </servlet>
<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>imgServlet2</servlet-name> <servlet-class>cn.hncu.img.ImageServlet2</servlet-class> </servlet>
</pre><pre code_snippet_id="1769896" snippet_file_name="blog_20160719_2_2374124" name="code" class="html">java代码
package cn.hncu.img; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileOutputStream; 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; public class ImageServlet2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //告诉客户端,输出格式 response.setContentType("image/jpeg"); //※※※ int width = 80; int height = 40; BufferedImage img = new BufferedImage(width, height ,BufferedImage.TYPE_INT_RGB ); Graphics g = img.getGraphics(); //设置背景色 g.setColor(Color.white); g.fillRect(0, 0, width, height);//画背景 //设置字体 g.setFont( new Font("黑体",Font.BOLD,18)); //随机数字 Random r = new Random(); for(int i=0;i<4;i++){ int a = r.nextInt(10); int y =10+ r.nextInt(20); //10~30范围内的一个整数,作为y坐标 Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)); g.setColor(c); g.drawString(""+a, 5+i*width/4, y); } //干扰线 for(int i=0;i<10;i++){ Color c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)); g.setColor(c); g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); } g.dispose();//类似于流中的close()带动flush()---把数据刷到img对象当中 ImageIO.write(img, "JPEG", response.getOutputStream());//※※※ } }
<head> <body> <img id="imgid" src="/HelloWeb/servlet/imgServlet2"><a href="javascript:changeImg()">看不清</a> </body> </head>
相关文章推荐
- Java 下 SSL 通信原理及实例
- 最新图片质量和按大小压缩方法
- JAVA学习日志(7-2-子父类中成员的特点)
- Thymeleaf官方文档(翻译)
- 【Java】Java 实现导出excel表 POI
- Java个人理解之时间的使用
- 抖动文字
- 【Leetcode】 83. Remove Duplicates from Sorted List 【两个指针】
- java读csv 和excel
- eclipse 快捷键记录
- Java Web应用的生命周期
- Java基础:JVM、JRE和JDK分别是什么?
- spring data jpa 学习小结
- 在Servlet(或者Filter,或者Listener)中使用spring的IOC容器
- PartII :spring 4.0的更新
- @Resource注解
- Spring注解@ResponseBody,@RequestBody
- java---GZIP压缩技术演示(结合XML文档配置,网页显示)
- Ubuntu16下面使用eclipse新建项目工程卡死
- Java泛型简明教程