验证码

 

添加验证码,单击刷新并验证

============================================

 

第一步:添加一个页面,页面代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CheckCode.aspx.cs" Inherits="CheckCode" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>无标题页</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

    </div>

    </form>

</body>

</html>

第二步:添加页面的cs代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Drawing;

//这是一个生成验证码的网页

public partial class CheckCode : System.Web.UI.Page

{

    private string GenerateCheckCode()

    {

        int num;

        char code;

        string checkCode = string.Empty;

        Random random = new Random();

        for (int i = 0; i < 6; i++)//循环次数决定验证码的位数

        {

            num = random.Next();

            if (num % 2 == 0)

            {

                code = (char)('0' + (char)(num % 10));

            }

            else

            {

                code = (char)('A' + (char)(num % 26));

            }

 

            checkCode += code.ToString();

        }

        Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));

        return checkCode;

    }

 

 

    protected void Page_Load(object sender, EventArgs e)

    {

        CreateCheckCodeImg(GenerateCheckCode());

    }

 

    private void CreateCheckCodeImg(string checkCode)

    {

        if (checkCode == null || checkCode.Trim() == String.Empty)

            return;

        Bitmap img = new Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);

       

        Graphics g = Graphics.FromImage(img);

        try

        {

            Random random = new Random();

            g.Clear(Color.White);

 

 

            //画图片的背景线

            for (int i = 0; i < 2; i++)

            {

                int x1 = random.Next(img.Width);

                int x2 = random.Next(img.Width);

                int y1 = random.Next(img.Width);

                int y2 = random.Next(img.Width);

                g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);

            }

 

            //画出指定的字符

            Font font = new Font("Arial", 12, (FontStyle.Bold));

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, img.Width, img.Height), Color.Blue, Color.Red, 1.2f, true);

            g.DrawString(checkCode, font, brush, 2, 2);

 

            //画图片的前景噪点

            for (int i = 0; i < 100; i++)

            {

                int x = random.Next(img.Width);

                int y = random.Next(img.Height);

                img.SetPixel(x, y, Color.FromArgb(random.Next()));

            }

            g.DrawRectangle(new Pen(Color.Silver),0,0,img.Width-1,img.Height-1);

            System.IO.MemoryStream ms=new System.IO.MemoryStream();

            img.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);

            Response.ClearContent();

            Response.ContentType="image/Gif";

            Response.BinaryWrite(ms.ToArray());

       

        }  

        finally

        {

            g.Dispose();

            img.Dispose();

        }

    }

 

}

 

 

第三步:在需要验证码的网页引用产生验证码的网页:

在你需要调用验证码的网页中添加一个<img>标签,将img标签的src设置成刚刚新添加的那个aspx!比如<img alt="验证码" src="CkeckCode.aspx"></img>

下面是刷新功能:

你可以把img标签和一个linkbutton一起加入到updatepanel中,然后生成一个linkbutton的click事件,不用在里面写任何代码的,就可以达到刷新验证码的效果了.

 

 

最后一步:验证验证码:

在验证页面里添加以下代码:

 HttpCookie cookie = Request.Cookies["CheckCode"];

       

            if (cookie.Value == tbYanZM.Text)

            {

                Response.Write("...验证码正确");

 

            }

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值