jsp页面验证码源代码

合集下载

Jsp网站登录数字+字母验证码实现

Jsp网站登录数字+字母验证码实现

Jsp⽹站登录数字+字母验证码实现image.jsp创建验证码图⽚、CreateImage.jsp输⼊验证码界⾯把值传给验证的页⾯checkImage.jsp.我只修改了下if (rand.equalsIgnoreCase(input)) 不然验证的时候区分⼤⼩写.总的来说还⾏很实⽤!验证码图⽚的⽂件image.jsp<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8" %><%!Color getRandColor(int fc, int bc) {//给定范围获得随机颜⾊Random random = new Random();if (fc > 255)fc = 255;if (bc > 255)bc = 255;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r, g, b);}%><%//设置页⾯不缓存response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 在内存中创建图象int width = 80, height = 20;BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);// 获取图形上下⽂Graphics g = image.getGraphics();//⽣成随机类Random random = new Random();// 设定背景⾊g.setColor(getRandColor(200, 250));g.fillRect(0, 0, width, height);//设定字体g.setFont(new Font("Times New Roman", Font.BOLD, 18));//画边框g.setColor(new Color(0, 0, 0));g.drawRect(0, 0, width - 1, height - 1);// 随机产⽣155条⼲扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160, 200));for (int i = 0; i < 155; i++) {int x = random.nextInt(width);int y = random.nextInt(height);int xl = random.nextInt(12);int yl = random.nextInt(12);g.drawLine(x, y, x + xl, y + yl);}// 取随机产⽣的认证码(4位数字)String sRand = "";for (int i = 0; i < 4; i++) {String rand = null;//随机⽣成数字或者字母if (random.nextInt(10) > 5) {rand = String.valueOf((char)(random.nextInt(10) + 48));} else {rand = String.valueOf((char)(random.nextInt(26) + 65));}sRand += rand;// 将认证码显⽰到图象中g.setColor(new Color(random.nextInt(80), random.nextInt(80), random.nextInt(80)));//调⽤函数出来的颜⾊相同,可能是因为种⼦太接近,所以只能直接⽣成g.drawString(rand, 15 * i + 10, 16);}// 将认证码存⼊SESSIONsession.setAttribute("rand", sRand);// 图象⽣效g.dispose();// 输出图象到页⾯ImageIO.write(image, "JPEG", response.getOutputStream());%>使⽤验证码图⽚的⽂件CreateImage.jsp<%@ page contentType="text/html;charset=gb2312" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>认证码输⼊页⾯</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"><META HTTP-EQUIV="Expires" CONTENT="0"></head><body><form method=post action="checkImage.jsp"><table><tr><td align=left>系统产⽣的认证码:</td><td><img id="code" border=0 src="image.jsp"><a href="#" onClick="javascript:var dt=new Date();document.getElementById('code').src='image.jsp?dt='+dt;">看不清验证码请单击这⾥</a></td> <!--这⾥的image.jsp?dt='+dt;很重要,如果只是改为image.jsp则不会有图⽚改变的效果,因为浏览器认为SRC没有改变,所以⼀定要⽣成⼀个随时在改变的dt来实现这⼀功能--></tr><tr><td align=left>输⼊上⾯的认证码:</td><td><input type=text name=rand maxlength=4 value=""></td></tr><tr><td colspan=2 align=center><input type=submit value="提交检测"></td></tr></table></form></body></html>验证的页⾯checkImage.jsp<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><html><head><title>认证码验证页⾯</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"><META HTTP-EQUIV="Expires" CONTENT="0"></head><body><%String rand = (String)session.getAttribute("rand");String input = request.getParameter("rand");%>系统产⽣的认证码为: <%= rand %><br>您输⼊的认证码为: <%= input %><br><br><%if (rand.equalsIgnoreCase(input)) {%><font color=green>输⼊相同,认证成功!</font><%} else {%><font color=red>输⼊不同,认证失败!</font><%}%></body></html>。

js实现简单的验证码

js实现简单的验证码

js实现简单的验证码验证码⼤家应该不陌⽣,主要是为了⽹站的安全性,防⽌恶意注册和登陆。

验证码实现的⽅式各有不同,下⾯是⼀段⽤javascript实现的验证码效果,供⼤家参考之⽤,希望能够给⼤家带来帮助。

运⾏效果图:代码如下:<html><head><title>js验证码</title><style type="text/css">.code{background:url(code_bg.jpg);font-family:Arial;font-style:italic;color:blue;font-size:30px;border:0;padding:2px 3px;letter-spacing:3px;font-weight:bolder;float:left;cursor:pointer;width:150px;height:60px;line-height:60px;text-align:center;vertical-align:middle;}a{text-decoration:none;font-size:12px;color:#288bc4;}a:hover{text-decoration:underline;}</style><script type="text/javascript">var code;function createCode(){code = "";var codeLength = 6; //验证码的长度var checkCode = document.getElementById("checkCode");var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); //所有候选组成验证码的字符,当然也可以⽤中⽂的 for(var i = 0; i < codeLength; i++){var charNum = Math.floor(Math.random() * 52);code += codeChars[charNum];}if(checkCode){checkCode.className = "code";checkCode.innerHTML = code;}}function validateCode(){var inputCode=document.getElementById("inputCode").value;if(inputCode.length <= 0){alert("请输⼊验证码!");}else if(inputCode.toUpperCase() != code.toUpperCase()){alert("验证码输⼊有误!");createCode();}else{alert("验证码正确!");}}</script></head><body onload="createCode()"><form id="form1" runat="server" onsubmit="validateCode()"><div><table border="0" cellspacing="5" cellpadding="5" ><tr><td></td><td><div class="code" id="checkCode" onclick="createCode()" ></div></td><td><a href="#" onclick="createCode()">看不清换⼀张</a></td></tr><tr><td>验证码:</td><td><input style="float:left;" type="text" id="inputCode" /></td><td>请输⼊验证码</td></tr><tr><td></td><td><input id="Button1" onclick="validateCode();" type="button" value="确定" /></td><td></td></tr></table></div></form></body></html>希望本⽂所述对⼤家学习javascript程序设计有所帮助。

(完整版)JSP登陆页面代码

(完整版)JSP登陆页面代码
response.sendRedirect("login.htm");
}
%>
如果输入信息有误,则回到登录页面,重新输入登录信息。
注册页面:reg.jsp
请输入您的注册信息:
<table>
<form action="/user/Reg" method="post" name="regform" onsubmit="return regconfirm();">
session.setAttribute("login","ok");
session.setMaxInactiveInterval(-1);
%>
<jsp:forward page="main.jsp"/>
<%
}else{
out.println("用户名或密码输入错误!");
}
%>
如果登录成功,则设定login的值为ok,提交到下一步验证页面,则进入main.jsp页面,否则,如果输入的用户名和密码不合法就打印错误信息,main.jsp页面代码如下:
<tr><td>密码:</td><td><input type="password" name="user_pwd" id="user_pwd" size="20" maxlength=10 onBlur="checkPWD();">*可以包含字母数字(区分大小写),6-10位</td>

验证码邮箱检验jsp代码

验证码邮箱检验jsp代码
var email = $("#tbCommentEmail").val();
var authenNum = $("#tbAuthenCode").val();
var authenId = $("#span_comment_test").html();
$("#lnkRereshAuthenCode").html("<span style='color:red'>刷新中...</span>");
return false;
}
function RefreshImg(response){
$("#imgAuthenCode").attr("src","/Modules/CaptchaImage/ValidCodeImage.aspx?id="+encodeURIComponent(response));
ShowCommentMsg(data.d["ReturnData"]);//"抱歉!评论提交失败!请与管理员联系。");
$("#span_comment_posted").html('');
}
// AjaxPost("/ws/CommentService.asmx/RefreshAuthenCode","{}",ShowAuthenCodeOk);
//}
$("#wrapAuthenCode").show();
}
var comment = {};

验证码代码

验证码代码

验证码Servlet源代码:package sjzpc.webmessage.control;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;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 ImageCode extends HttpServlet {private static final long serialVersionUID= 8165458985542870320L;//设置图形验证码中的字符串的字体的大小private Font mFont= new Font("Arial Black", Font.PLAIN, 16);public void init() throws ServletException {super.init();}/***生成随机颜色*@param fc*@param bc*@return*/Color getRandColor(int fc, int bc) {Random random = new Random();if (fc > 255)fc = 255;if (bc > 255)bc = 255;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r, g, b);}public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//生成服务器相应的service方法//阻止生成的页面内容被缓存,保证每次重新生成随机验证码 response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);response.setContentType("image/jpeg");//指定图形验证码图片的大小;int width = 80;//宽度int height = 20;//高度BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);// 准备在图片中绘制内容Graphics g = image.getGraphics();Random random = new Random();g.setColor(getRandColor(200, 250));g.fillRect(1, 1, width - 1, height - 1);g.setColor(new Color(102, 102, 102));g.drawRect(0, 0, width - 1, height - 1);g.setFont(mFont);g.setColor(getRandColor(160, 200));//生成随机线条for (int i = 0; i < 155; i++) {int x = random.nextInt(width - 1);int y = random.nextInt(height - 1);int xl = random.nextInt(6) + 1;int yl = random.nextInt(12) + 1;g.drawLine(x, y, x + xl, y + yl);}for (int i = 0; i < 70; i++) {int x = random.nextInt(width - 1);int y = random.nextInt(height - 1);int xl = random.nextInt(12) + 1;int yl = random.nextInt(6) + 1;g.drawLine(x, y, x - xl, y - yl);}String sRand = "";//生成随机的字符串并加入到图片中int LEN = 4; //控制随机码的长度for (int i = 0; i < LEN; i++) {String tmp = getRandomChar();sRand += tmp;g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));g.drawString(tmp, 15 * i + 10, 15);}HttpSession session = request.getSession(true);// log.debug("随机生成的字符串为"+sRand);//将其自动转换为小写。

jsp页面验证码

jsp页面验证码

AJAX+jsp无刷新验证码实例(完整代码)1.login.jsp<%@ pagelanguage="java"contentType="text/html;charset=gb2312"import = "java.util.*"import = "java.sql.*"import = "java.text.*"import = "java.io.*"%><%@ include file="../conn.jsp"%><%request.setCharacterEncoding("gb2312");%><%String username=request.getParameter("name");String pass=request.getParameter("pws");String num=request.getParameter("num");String random=(String)session.getAttribute("random");if(num!=null&&random!=null){if(num.equals(random)){Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery("select * from admin where admin='"+username+"' and pass='"+pass+"'");if(rs.next()){String id=rs.getString("id");session.setAttribute("id",id);response.sendRedirect("admin.jsp");}rs.close();stmt.close();conn.close();}}%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>两岸咖啡</title><link href="../include/style.css" rel="stylesheet" type="text/css" /><script src="net.js"></script><script type="text/javascript">var times=0;function subform(){var gtext=this.req.responseText;var info=document.getElementById("info");if(gtext.indexOf("validate_successful")!=-1){//info.innerHTML="<font color=green>验证码通过</font>";document.forms["form"].submit();//当得到的值表示合法,则验证码通过。

jsp登陆源代码

jsp登陆源代码

denglu.jsp<%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*,java.text.*"%><html><head><title>登陆界面</title></head><body bgcolor="#7e98f6"><center><%@include file="util/main.jsp"%>(页面头部)<form action="dlxx.jsp" method=post name=form><img src="image/3.jpg">(图片自己放一张并改名字和地址(image))<table bgcolor="#7e98f6" height="150"><tr><td>用户名:<input type="text" name="yonghu" value=""/><tr><td>密码:<input type="text" name="pass" value=""/><tr><td><input type="submit" name="submit" value="提交"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="submit" value="重置"/></table></form><jsp:include page="util/foot.jsp" flush="true"/>(页面尾部)</body></html>dlxx.jsp<%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*,java.text.*"%><%@page import="java.sql.*"%><html><body><%@include file="util/main.jsp"%><body bgcolor="#7e98f6"><br/><br/><br/><br/><br/><br/><br/><font size="华文楷体"><center><%String yonghu1=request.getParameter("yonghu");String pass1=request.getParameter("pass");String dpass="";try{Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");String url="jdbc:sqlserver://localhost:1433;DataBaseName=liu";(数据库名)String dlname="sa";String dlpass="123";Connection conn=DriverManager.getConnection(url,dlname,dlpass);Statement ss=conn.createStatement();String cx="select yh_pass from yh where yh_name='"+yonghu1+"'";(yh_pass/yh_name数据库列表名,yh表名)ResultSet rs=ss.executeQuery(cx);if(rs.next()){dpass=rs.getString("yh_pass");}rs.close();ss.close();conn.close();}catch(Exception e){out.println(e.toString());}if(dpass.equals(pass1)){response.sendRedirect("weclome.jsp");(欢迎页面)}else{out.print(yonghu1+"不是数据库中用户,登录失败!!");out.print("<br><br>用户名="+yonghu1);out.print("<br><br>密码="+dpass);out.print("<br><br>密码="+pass1);}%><br/><br/><br/><br/><br/><jsp:include page="util/foot.jsp" flush="true"/></body></html>。

jsp页面验证码源代码

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;}//生成验证码图像publicstatic Map getVerifyCode(int width, int heigth) {VerifyCodeUtils.image = new BufferedImage(width, heigth, Bu fferedImage.TYPE_INT_RGB);Graphics2D g = (Graphics2D) VerifyCodeUtils.image.g etGraphics();String verifyCode = getVerifyCode();Map map = new HashMap();map.put("verifyCode", verifyCode);//将图像填充为白色g.setColor(Color.WHITE);g.fillRect(0, 0, width, heigth);//设置字体g.setFont(new Font("宋体", Font.BOLD + Font.ITALIC, heigth-10));//画边框。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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;}//生成验证码图像publicstatic Map getVerifyCode(int width, int heigth) {VerifyCodeUtils.image = new BufferedImage(width, heigth, Bu fferedImage.TYPE_INT_RGB);Graphics2D g = (Graphics2D) VerifyCodeUtils.image.g etGraphics();String verifyCode = getVerifyCode();Map map = new HashMap();map.put("verifyCode", verifyCode);//将图像填充为白色g.setColor(Color.WHITE);g.fillRect(0, 0, width, heigth);//设置字体g.setFont(new Font("宋体", Font.BOLD + Font.ITALIC, heigth-10));//画边框。

g.setColor(VerifyCodeUtils.getColor());g.drawRect(0, 0, width, heigth);//随机产生干扰线,使图象中的认证码不易被其它程序探测到g.setColor(Color.BLACK);for (int i = 0; i <50; i++) {int x = VerifyCodeUtils.random.nextInt(width);int y = VerifyCodeUtils.random.nextInt(heigth);int xl = VerifyCodeUtils.random.nextInt(5);int yl = VerifyCodeUtils.random.nextInt(5);g.setColor(getColor());g.drawLine(x, y, x + xl, y + yl);}char c;for(int i = 0; i <4; i++) {c = verifyCode.charAt(i);g.drawString(c+"", i*20+40, heigth-10);}map.put("image", VerifyCodeUtils.image);return map;}//随机化颜色publicstatic Color getColor() {int red = 0, green = 0, blue = 0;// 产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同。

red = VerifyCodeUtils.random.nextInt(255);green = VerifyCodeUtils.random.nextInt(255);blue = VerifyCodeUtils.random.nextInt(255);returnnew Color(red,green,blue);}}VerifyCodeServlet把VerifyCodeUtils生成的验证码图片通过io流传入前端显示,代码如下:package Servlet;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Map;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import utils.VerifyCodeUtils;/*** Servlet implementation class VerifyCodeServlet*/@WebServlet("/")publicclass VerifyCodeServlet extends HttpServlet { privatestaticfinallong serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public VerifyCodeServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, Ht tpServletResponse response)*/protectedvoid doGet(HttpServletRequest request, HttpServlet Response response) throws ServletException, IOException {response.setHeader("Expires", "-1");response.setHeader("Cache-Control", "no-cache");response.setHeader("Pragma", "no-cache");response.setHeader("Content-type", "image/jpeg");Map map = VerifyCodeUtils.getVerifyCode(223, 50);//把verifyCode的数值传入session中用于验证用户输入的验证码是否正确request.getSession().setAttribute("verifyCode", map.get(" verifyCode").toString().toUpperCase());//通过IO流传入前端显示ImageIO.write((BufferedImage) map.get("image"), "jpg", res ponse.getOutputStream());}/*** @see HttpServlet#doPost(HttpServletRequest request, H ttpServletResponse response)*/protectedvoid doPost(HttpServletRequest request, HttpServle tResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}页面jsp代码如下:<%@ pagelanguage="java"contentType="text/html; charset=utf -8"pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional/ /EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset =utf-8"><base id="base"href="${pageContext.request.contextPath}"><title>验证码测试界面</title><style>div{float:left;}input{width:223px;height:31px;margin-right:20px;}img{width:223px;height:35px;}p{margin:10px;}</style></head><body><script src="${pageContext.request.contextPath}/JS/demo.js "></script><div><input type="text"name="verifyCode"id="verifyCode"placehol der="验证码"onblur="check_verifyCode()"></div><div><img src="${pageContext.request.contextPath}/servlet/Verif yCodeServlet"style="width: 100%"onclick="this.src=this.sr c + '?' + Math.random()"/></div><div><p id = "tip"></p></div></body></html>js实现ajax代码如下:/****/function check_verifyCode(){var XMLHttpReqVerifyCode = null;var url =document.getElementById("base").href +"/servlet/Te stVerifyCodeServlet";var verifyCode = document.getElementById("verifyCode").valu e;var tip = document.getElementById("tip");var errorTip = "输入的验证码不正确";var successTip = "输入的验证码正确";tip.innerHTML=errorTip;if(verifyCode==null || verifyCode==""){tip.innerHTML=errorTip;tip.style.color = "red";}else{if(window.XMLHttpRequest) {//DOM2浏览器XMLHttpReqVerifyCode = new XMLHttpRequest();} elseif(window.ActiveXObject) {//使用json语法创建数组var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', ' MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP '];for(var i = 0; i <MSXML.length; i++) {try{XMLHttpReqVerifyCode = new ActiveXObject(MSXML[i]);} catch(e) {}}}XMLHttpReqVerifyCode.open("POST",url, true);XMLHttpReqVerifyCode.setRequestHeader("Content-Type", "ap plication/x-www-form-urlencoded");XMLHttpReqVerifyCode.onreadystatechange = function testVeri fyCodeServletResponse(){if(XMLHttpReqVerifyCode.readyState == 4&& (XMLHttpReqVerif yCode.status == 200 || XMLHttpReqVerifyCode.status == 304)) {if(XMLHttpReqVerifyCode.responseText == 1){tip.innerHTML = successTip;tip.style.color = "green";}elseif(XMLHttpReqVerifyCode.responseText == 0){tip.innerHTML = errorTip;tip.style.color = "red";}}}XMLHttpReqVerifyCode.send("code="+verifyCode);}//ajax前后台交互function createXMLHttpRequest(XMLHttpReq) {if(window.XMLHttpRequest) {//DOM2浏览器XMLHttpReq = new XMLHttpRequest();} elseif(window.ActiveXObject) {//使用json语法创建数组var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', ' MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP '];for(var i = 0; i <MSXML.length; i++) {try{XMLHttpReq = new ActiveXObject(MSXML[i]);} catch(e) {}}return XMLHttpReq;}}}TestVerifyCodeServlet与js交互代码为:package Servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class TestVerifyCodeServlet */@WebServlet("/TestVerifyCodeServlet")publicclass TestVerifyCodeServlet extends HttpServlet { privatestaticfinallong serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public TestVerifyCodeServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, Ht tpServletResponse response)*/protectedvoid doGet(HttpServletRequest request, HttpServlet Response response) throws ServletException, IOException {// TODO Auto-generated method stubString codeTrue = (String) request.getSession().get Attribute("verifyCode");String codeInput = request.getParameter("code");System.out.println(codeInput);response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();//打印流if(codeInput!=null){if(codeInput.toUpperCase().equals(codeTrue)){out.println("1");}else{out.println("0");}}}/*** @see HttpServlet#doPost(HttpServletRequest request, H ttpServletResponse response)*/protectedvoid doPost(HttpServletRequest request, HttpServle tResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}xml代码为<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-insta nce"xmlns="/xml/ns/javaee"xsi:schemaLo cation="/xml/ns/javaee http://java.sun. com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name></display-name><welcome-file-list><welcome-file>demo.jsp</welcome-file></welcome-file-list><servlet><servlet-name>VerifyCodeServlet</servlet-name><servlet-class>Servlet.VerifyCodeServlet</servlet-class></servlet><servlet-mapping><servlet-name>VerifyCodeServlet</servlet-name><url-pattern>/servlet/VerifyCodeServlet</url-pattern></servlet-mapping><servlet><servlet-name>TestVerifyCodeServlet</servlet-name><servlet-class>Servlet.TestVerifyCodeServlet</servlet-cla ss></servlet><servlet-mapping><servlet-name>TestVerifyCodeServlet</servlet-name><url-pattern>/servlet/TestVerifyCodeServlet</url-pattern></servlet-mapping></web-app>结果显示:。

相关文档
最新文档