网页邮箱验证码怎么用jsp和Servlet做

网页邮箱验证码怎么用jsp和Servlet做,第1张

你用的是responseText肯下不行啊,你返回的是一个流。而不是一段文本,我觉得你不需要用ajax,你只要重新改变一下img对象的src属性就行了吧,还是指向这个servlet,相当于刷新一下这个。改变的src属性时,好像不刷新整个页面

用Serverlet编写!以下是验证码的产生代码!你可以研究一下!
public class ValidateCodeServlet extends ><html>
<head>
<title>简单页面</title>
<script>
function yzm(){
var Num="";
for(var i=0;i<4;i++)
{
Num+=Mathfloor(Mathrandom()10);
}
documentgetElementById("yzphoto")value=Num;
documentgetElementById("yzm")value=Num;
}
function userLogin(){
var userName = documentgetElementById("userName")value;
var password = documentgetElementById("password")value;
var yztext = documentgetElementById("yztext")value;
var yzm = documentgetElementById("yzm")value;
if(userName != "jq"){
alert("用户名错误");
}else if(password != "123"){
alert("密码错误");
}else if(yztext != yzm){
alert("验证码错误");
}else{
alert("登陆成功");
}
locationreload();
}
</script>
</head>
<body onLoad="yzm()">
<div style="width:100%;text-align:center">
<h1>用户登录</h1>
<table>
<tr>
<td>用户名:</td>
<td><input id="userName" type="text" value=""/></td>
</tr>
<tr>
<td>密码:</td>
<td><input id="password" type="password" value=""/></td>
<tr>
<tr><td>
验证码:
</td>
<td><input id="yztext" type="text" value=""/><input style="width:50px;background-
color:red;color:blue" type="text" id="yzphoto" value=""/><input type="hidden" id="yzm"
value=""></td></tr>
<tr>
<td colspan="2" align="center"><input onclick="userLogin()" type="button" value="登陆"/></td>
</tr>
</table>
</div>
</body>
</html>

原理:

1生成一个随机字符串,

2将字符串放在Session中

3将字符串绘制在一个中

4,将用流的方式输出

代码:

/
  Project Name [JavaEE_Web]
  File Name      [CaptchaGeneratorServletjava]
  Creation Date  [2015-01-01]
  
  Copyright© geyyang@gmailcom All Rights Reserved
  
  Work hard, play harder, think big and keep fit
 /
package servletcases;
import javaawtColor;
import javaawtFont;
import javaawtGraphics2D;
import javaawtimageBufferedImage;
import javaioIOException;
import javautilRandom;
import javaximageioImageIO;
import javaxservletServletException;
import javaxservletServletOutputStream;
import javaxservletannotationWebServlet;
import javaxservlet>这个问题很简单的。我想你动态产生的验证码一定是一个单独的页面然后再把这个页面导入到你的输入信息的页面的。你打开你的动态生成验证码的页面。在里面你一定可以找到一个sessionsetAttribute(""); 这个方法是把你验证码的值保存在session里面。根据你的意思在用jsd出来验证 首先你在页面中加一小脚本<% Stirng vcode= (String)sessiongetAttribute("验证码Key") %>然后在你的提交按钮中加一个onClick事件 请输入验证码:<input type="text" id="txtvcode" name="txtvcode" /> <input type="button" name="text" id="text" value="提交" onClick="checkVcode('<%= vcode%>')" />这样就可以把你动态生成的验证码值传入到js的函数中去了。 <script> function checkVcode(vcode){ var txtvcode= documentgetElementById("txtvcode")value; if(vcode==txtvcode){ alert("输入验证码正确"); }else{ alert("输入验证码错误"); } } </script>人在网吧。没工具调试。我想这些代码不会出问题的。

看错误啊
orgapachejasperJasperException: /imagejsp(3,4) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=UTF-8, new: image/jpeg)
你是直接在另一个jsp里include的吧,不能指定不同的contentType


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10230418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存