jsp验证码_源代码

jsp验证码_源代码
jsp验证码_源代码

jsp验证码实现源代码

演示程序包括三个文件:

1.login.jsp:登录页面

2.code.jsp:生成验证码图片页面

3.check.jsp:验证结果

code.jsp

<%@ page contentType="image/jpeg" import="java.awt.*, java.awt.image.*,java.util.*,javax.imageio.*" %>

<%

// 在内存中创建图象

int width=60, height=20;

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 获取图形上下文

Graphics g = image.getGraphics();

// 设定背景色

g.setColor(new Color(0xDCDCDC));

g.fillRect(0, 0, width, height);

//画边框

g.setColor(Color.black);

g.drawRect(0,0,width-1,height-1);

// 随机产生的认证码(4位数字)

String rand =""+ (Math.random()*10000);

rand = rand.substring(0,rand.indexOf("."));

switch(rand.length())

{

case 1: rand = "000"+rand; break;

case 2: rand = "00"+rand; break;

case 3: rand = "0"+rand; break;

default: rand = rand.substring(0,4); break;

}

// 将认证码存入SESSION

session.setAttribute("rand",rand);

// 将认证码显示到图象中

g.setColor(Color.black);

Integer tempNumber = new Integer(rand);

String numberStr = tempNumber.toString();

g.setFont(new Font("Atlantic Inline",Font.PLAIN,18));

String Str = numberStr.substring(0,1);

g.drawString(Str,8,17);

Str = numberStr.substring(1,2);

g.drawString(Str,20,15);

Str = numberStr.substring(2,3);

g.drawString(Str,35,18);

Str = numberStr.substring(3,4);

g.drawString(Str,45,15);

// 随机产生88个干扰点,使图象中的认证码不易被其它程序探测到

Random random = new Random();

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

{

int x = random.nextInt(width);

int y = random.nextInt(height);

g.drawOval(x,y,0,0);

}

// 图象生效

g.dispose();

// 输出图象到页面

ImageIO.write(image, "JPEG", response.getOutputStream());

//在页面上调用

%>

login.jsp

<%@ page contentType="text/html;charset=gb2312" %>

认证码输入页面

check.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>

认证码验证页面

<%

String rand = (String)session.getAttribute("rand");

String input = request.getParameter("rand");

%>

系统产生的认证码为: <%= rand %>

您输入的认证码为: <%= input %>


<%

if (rand.equals(input)) {

%>

输入相同,认证成功!

<%

} else {

%>

输入不同,认证失败! <%

}

%>

如何在JSP中使用MYSQL中的登录界面(内涵完整代码)

如何在JSP中使用MYSQL中的登录界面 1.和创建登录的JSP界面,action指向servlet中的方法 2.创建一个新的字符用于存储新的数字和字符String msg=""; 3.获取JSP中输入的数据。String account = request.getParameter("name"); 4.Try语句调用后面的方法。先写方法 方法: 连接数据库和MYSQL中方法一样 try{ String driverName="com.mysql.jdbc.Driver"; //数据库用户名 String userName="root"; //密码 String userPasswd="123456"; //数据库名 String dbName="xueshenbiao"; //表名 String tableName="nima"; //联结字符串 String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+u serPasswd; Class.forName("com.mysql.jdbc.Driver").newInstance(); java.sql.Connection connection=DriverManager.getConnection(url); Statement statement = connection.createStatement(); 重点如下: 之前习惯了用select去巡查SQL中数据,现在因为是验证登录所以只要比对是否有一样的数据即可,现在采用SELECT count(*)用于计数,如果返回是0说明不存在登录的用户,返回1说明存在,返回>1说明不止一个。 5.接下来寻找个数用while(rs.next())寻找个数 6.和删除一样用result返回参数. 7.此时的result有了自己的判断力用于前面的判断。 跳回前面的try语句 用If()else语句来判断登录的界面

JSP生成验证码_源代码

jsp验证码实现源代码 (2011-10-16 11:11:40) 验证码原理:①首先随机生成数字或字母;②把生成的数字或字母保存在Session这次会话中;③最后,在登陆页面上把接收用户输入的验证码与生成的验证码相匹配,成功返回TRUE,失败则返回FALSE; 演示程序包括三个文件: 1.login.jsp:登录页面 2.code.jsp:生成验证码图片页面 3.check.jsp:验证结果 code.jsp <%@ page contentType="image/jpeg" import="java.awt.*, java.awt.image.*,java.util.*,javax.imageio.*" %> <% // 在内存中创建图象 int width=60, height=20; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取图形上下文 Graphics g = image.getGraphics(); // 设定背景色 g.setColor(new Color(0xDCDCDC)); g.fillRect(0, 0, width, height); //画边框 g.setColor(Color.black); g.drawRect(0,0,width-1,height-1); // 随机产生的认证码(4位数字) String rand =""+ (Math.random()*10000); rand = rand.substring(0,rand.indexOf(".")); switch(rand.length()) { case 1: rand = "000"+rand; break; case 2: rand = "00"+rand; break; case 3: rand = "0"+rand; break; default: rand = rand.substring(0,4); break; }

jsp验证码生成以及刷新

关于jsp验证码生成,显示,验证和刷新: 1:四位数据的验证图片生成,用servlet实现 2:在web.xmlli配置servlet 3:页面上显示servlet生成的图片 4:关于验证码输入数据的验证 5:验证码的刷新 ——————————————————————– 1:四位数据的验证图片生成,用servlet实现,servlet代码如下: import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import java.util.*; import java.awt.*; import java.awt.image.*; import javax.imageio.*; public class vImage extends HttpServlet { public void init(ServletConfig conf) throws ServletException { super.init(conf); } public void doGet(HttpServletR equest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType(‖image/jpeg‖); res.setHeader(‖Pragma‖, ―No-cache‖); res.setHeader(‖Cache-Control‖, ―no-cache‖); res.setDateHeader(‖Expires‖, 0); HttpSession session = req.getSession(); // 在内存中创建图象 int width = 60, height = 20; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取图形上下文 Graphics g = image.getGraphics(); // 生成随机类 Random random = new Random();

jsp页面验证码源代码

jsp页面验证码源代码 在java后台中生成验证码的ImageIO传到前端页面显示,同时把验证码的v alue值传入session 中用于与用户输入的验证码进行匹配,在用户验证中使用ajax技术,在不刷新页面的同时进行验证码验证。 程序结构图: VerifyCodeUtils程序主要内容为通过Java生成验证码的图片,以及验证码的value值,程序如下: package utils; import java.awt.Color; import java.awt.Font;

import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.util.HashMap; import java.util.Map; import java.util.Random; publicclass VerifyCodeUtils { privatestatic BufferedImage image = null; privatestatic Random random = new Random(); //在自己定义的一些数中,生成4位随机数 publicstatic String getVerifyCode() { String str = ""; char[] code = newchar[]{'A','B','C','D','E','F','G','H','I ','J','K','L','M','N','P','Q','R','S','T','U', 'V','W','X','Y','Z','a','b','c','d','e','f','g','h','i',' j','k','m','n','p','q','r','s','t', 'u','v','w','x','y','z','2','3','4','5','6','7','8','9'}; Random random = new Random(); for(int i = 0; i <4; i++) { str += String.valueOf(code[random.nextInt(code.length)]); } return str; }

php用户登录页面代码源代码

//登入页面 $conn=mysql_connect('127.0.0.1','root','')or die("连接失败"); mysql_select_db('tujian',$conn)or die("未找到该数据库"); define(ALL_PS,"vivid");mysql_query("set names GBK"); if($_POST[submit]){ $postcode=strtolower($_POST["code"]); $postcode=strtoupper($_POST["code"]); $uid=str_replace(" ","",$_POST[uid]); $sql="select * from users where `uid`='$_POST[uid]'"; $query=mysql_query($sql); $user=is_array($row=mysql_fetch_array($query)); $mi=$user?md5($_POST[pass].ALL_PS)==$row[pass]:FALSE; if($mi){ $_SESSION[uid]=$row[uid]; $_SESSION[name]=$row[name]; $_SESSION[id]=$row[id]; $_SESSION[user_shell]=md5($row[uid].$row[pass].ALL_PS); if( $_SESSION["code"]==$postcode){ echo""; }else{ echo"

验证码输入错误,请重新输入!
"; } } else{ echo"
用户名或密码输入错误
"; session_destroy(); } } ?>
系统产生的认证码:
输入上面的认证码: