jsp页面验证码完整实例

这篇文章主要为大家详细介绍了jsp页面验证码完整实例,具有一定的参考和学习jsp的价值,对jsp感兴趣的小伙伴们可以参考一下本篇文章

项目结构如下,MyEclipse中新建一个Web Project,取名servlet

jsp页面验证码完整实例

1、src下new一个servlet类

package com.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.PrintWriter;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;public class IdentityServlet extends HttpServlet {  public static final char[] chars={'2','3','4','5','6','7','8','9','A'};//自定义验证码池  public static Random random=new Random();  //随机数    public static String getRandomString(){  //获取6位随机数,放在图片里    StringBuffer buffer=new StringBuffer();    for(int i=0;i   */  public void destroy() {    super.destroy(); // Just puts "destroy" string in log    // Put your code here  }  /**   * The doGet method of the servlet. 
   *   * This method is called when a form has its tag value method equals to get.   *    * @param request the request send by the client to the server   * @param response the response send by the server to the client   * @throws ServletException if an error occurred   * @throws IOException if an error occurred   */  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    response.setContentType("image/jpeg");  //设置输出类型        String randomString = getRandomString();  //随机字符串    request.getSession(true).setAttribute("randomString", randomString);//放到session里        int width=100;  //图片宽度    int height=30;  //图片高度        Color color=getRandomColor();  //随机颜色,用于背景色    Color reverse=getReverseColor(color);//反色,用于前景色    //创建一个彩色图片    BufferedImage bi=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);    Graphics2D g=bi.createGraphics();  //绘图对象    g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,16));//设置字体    g.setColor(color);//设置颜色    g.fillRect(0, 0, width, height);//绘制背景    g.setColor(reverse);    g.drawString(randomString, 18, 20);//绘制随机字符    for(int i=0,n=random.nextInt(100);i   *   * This method is called when a form has its tag value method equals to post.   *    * @param request the request send by the client to the server   * @param response the response send by the server to the client   * @throws ServletException if an error occurred   * @throws IOException if an error occurred   */  public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    doGet(request, response);  }  /**   * Initialization of the servlet. 
   *   * @throws ServletException if an error occurs   */  public void init() throws ServletException {    // Put your code here  }}

登录后复制

2、web.xml,会自动生成servlet和servlet-mapping的配置:

    IdentityServlet  com.servlet.IdentityServlet    IdentityServlet  /servlet/IdentityServlet      index.jsp 

登录后复制

3、WebRoot下新建一个html,展示验证码

nbsp;html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">Insert title herefunction reloadImage(){  document.getElementById('btn').disabled=true;  document.getElementById('identity').src='servlet/IdentityServlet?ts='+new Date().getTime();}jsp页面验证码完整实例

登录后复制

启动Tomcat,输入网址:http://localhost:8080/servlet/identity.html,效果如下:

jsp页面验证码完整实例

点击‘换个图片’,会生成新的验证码。

以上就是本文的全部内容,希望对大家的学习有所帮助!!

相关推荐:

jsp中ResourceBundle类的国际化

jsPlumb之流程图经验总结

jsp中变量及方法的声明与使用说明

以上就是jsp页面验证码完整实例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2790936.html

(0)
上一篇 2025年3月8日 19:03:50
下一篇 2025年3月8日 19:03:58

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • three.js创建场景实例详解

    本文主要给大家介绍了three.js中文文档学习之创建场景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 什么是Three.js? 如果你正在…

    编程技术 2025年3月8日
    200
  • javascript中超级实用的10个特性

    你可能刚上手 javascript,或者只是曾经偶尔用过。不管怎样,javascript 改变了很多,有些特性非常值得一用。 这篇文章介绍了一些特性,在我看来,一个严肃的 javascript 开发者每天都多多少少会用到这些特性。 参考资料…

    2025年3月8日
    200
  • nodeJs安装less及编译less文件为css文件方法实例

    本文主要介绍了使用nodejs来安装less及编译less文件为css文件的方法,在文章末尾给大家补充介绍了通过nodejs将less文件转为css文件的方法,具体内容详情大家通过本文学习吧,希望能帮助到大家。 NodeJs 使用nodej…

    2025年3月8日 编程技术
    200
  • Node.js中如何使用async函数

    借助于新版 v8 引擎,node.js 从 7.6 开始支持 async 函数特性。今年 10 月 31 日,node.js 8 也开始成为新的长期支持版本,因此你完全可以放心大胆地在你的代码中使用 async 函数了。在这边文章里,我会简…

    编程技术 2025年3月8日
    200
  • three.js画一个3D立体的正方体教程

    three.js是一个3djavascript库,基于右手坐标系,可以创建简单或是比较复杂的三维图形并应用丰富多彩的纹理和材质,可以添加五光十色的光源,可以在3d场景中移动物体或是添加脚本动画等等。本文介绍了利用three.js如何画一个3…

    2025年3月8日
    200
  • JavaScript实现Ajax异步请求实例详解

    本文主要和大家分享javascript实现ajax异步请求实例详解,ajax现在是一种非常流行的技术,现在虽然可以利用jquery或者一些第三方插件甚至微软提供的一些控件可以方面的实现ajax功能,但是明白其原理也是非常重要的,下面是来使用…

    编程技术 2025年3月8日
    200
  • js实现rem自动匹配计算font-size

    本文主要介绍了js实现rem自动匹配计算font-size的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 实际开发过程中,我们经常会被各种宽度,高度计算搞晕。尤其是使用了rem的计算方…

    编程技术 2025年3月8日
    200
  • 编写一个完整的Angular4 FormText 组件方法

    本文主要介绍了如何编写一个完整的angular4 formtext 组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 组件定义 import { Component, Output, In…

    编程技术 2025年3月8日
    200
  • NodeJS视频转码实现方法

    本文主要介绍了nodejs实现视频转码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 视频转码就是一个先解码,再编码的过程,从而将原来的视频转换成我们需要的视频。这种转换可能包括各…

    编程技术 2025年3月8日
    200
  • Emergence.js 检测元素可见性的 js 插件

    本文主要介绍了浅谈emergence.js 检测元素可见性的 js 插件,详细的介绍了emergence.js安装和使用方法,具有一定的参加性,有兴趣的可以了解一下,希望能帮助到大家。 Emergence.js 是一个轻量级,高性能的 JS…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论