java实现多态的条件个不同条件的验证,请问有什么好

博客分类:
现在的很多网站,在注册或登录或发表评论或下载文件等等的时候都会生成一些验证码来让用户输入进行校验。这样可以防止某些别有用心的用户利用计算机恶意自动注册,自动登录,恶意增加数据库的访问等等
目前常用的验证码生成方法有很多种,我在里用的是纯数字的验证码,大家都会比较好接受的
在这里我主要是使用了jquery和dwr技术,如果你对dwr技术不是很熟悉的话,可以看一下我上一篇文章。下面来看一下我的实现方法:
首先需要生成一个4位的随机数作为验证码,这个比较简单,来看一下这个类:
package gdut.
import java.util.R
public class CreateRandom {
private static Random ran =
private static String string = "";
public String getRandom(){
if(ran == null){
ran = new Random();
string = "";
for(int i=0;i&4;i++){ //生成4位随机数的验证码
string += ran.nextInt(9) + 1;
接下来是对WEB-INF目录下的web.xml的配置:
&servlet-name&dwr-invoker&/servlet-name&
&servlet-class&org.directwebremoting.servlet.DwrServlet&/servlet-class&
&init-param&
&param-name&debug&/param-name&
&param-value&true&/param-value&
&/init-param&
&init-param&
&param-name&crossDomainSessionSecurity&/param-name&
&param-value&false&/param-value&
&/init-param&
&init-param&
&param-name&allowScriptTagRemoting&/param-name&
&param-value&true&/param-value&
&/init-param&
&/servlet&
&servlet-mapping&
&servlet-name&dwr-invoker&/servlet-name&
&url-pattern&/dwr/*&/url-pattern&
&/servlet-mapping&
接着需要在WEB-INF目录下新建一个dwr.xml文件,并对其做以下配置,具体的配置属性我就不多说了,如有不理解的请看我的上一篇有关dwr的文章:
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"&
&create javascript="obtainRandom" creator="new"&
&param name="class" value="gdut.random.CreateRandom" /&
然后是导入dwr框架所需要的jar包,即dwr.jar和commons-logging.jar,这两个包我已添加到附件中。
接下来写一个CSS为验证码生成一张背景图片:
.code_box {
background-image:url(/IdentifyCode/imgs/code_img.jpg);
padding-top:1
padding-bottom:1
font-size:21
background-repeat:no-
border: #666666 solid 1
text-align:
text-decoration: line-
color: #999999;
font-family: Georgia, "Times New Roman", Times,
color: #0033FF;
font-size: 15
.text_cursor {
color: #0033FF;
text-decoration:
font-size: 15
.text_cursor:hover {
background-color: #99FF33;
下面我们来写实现验证码的这个jsp:
&%@ page language="java" import="java.util.*" pageEncoding="gb2312"%&
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&title&IdentifyCode Page&/title&
&!-- 将dwr和jquery框架所用到的js和我们将要写的用来做验证的js以及CSS文件链接进来 --&
&script type="text/javascript" src="/IdentifyCode/js/jquery.js"&&/script&
&script type="text/javascript" src="/IdentifyCode/js/identify.js"&&/script&
&script type='text/javascript' src='/IdentifyCode/dwr/interface/obtainRandom.js'&&/script&
&script type='text/javascript' src='/IdentifyCode/dwr/engine.js'&&/script&
&script type='text/javascript' src='/IdentifyCode/dwr/util.js'&&/script&
type="text/css" rel="stylesheet" href="/IdentifyCode/css/style.css" /&
&body bgcolor="#FFCC99"&
&br/&&br/&
&div align="center"&
&td&请输入验证码:&/td&
&td&&input type="text" id="inputCode"/&&&&&&&/td&
&td&&span class="code_box" id="code"&&/span&&/td&
&td&&&/td&
&td&&input type="button" class="cursor" id="btn" value=" 验证 " /&&/td&
&td&&span class="text_cursor" id="toGetRandom"&看不清&&换一个&/span&&/td&
&td&&&/td&
&td&&span id="msg" style="color:"&&/span&&/td&
下面我们可以来写校验验证码这个js脚本了:
$(document).ready(function(){
$("#inputCode").css("background-color","#FFFFCC");
createIdentifyCode();
$("#toGetRandom").click(function(){
createIdentifyCode();
$("#btn").click(function(){
var createCode = $("#inputCode").val();
var inputCode
= $("#code").html();
if(createCode == inputCode){
$("#msg").html("验证通过!");
$("#msg").html("验证码错误!");
createIdentifyCode();
$("#inputCode").focus(function(){
$("#inputCode").css("background-color","#FFFFCC");
$("#inputCode").blur(function(){
$("#inputCode").css("background-color","#D6D6FF");
function createIdentifyCode(){
obtainRandom.getRandom(function(string){
$("#code").html(string);
OK,搞定了。
下载次数: 61
下载次数: 59
fanzhongyun
浏览: 35957 次
来自: 广东茂名
怎么样访问测试jsp页面
很实用。容易理解
垃圾贴,解释的什么玩意嘛
好东西啊,貌似没人顶
哥们,你换个浏览器就搞不定 了,每个浏览器的session机制 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'JAVA程序如何判断两个不同设置的IP相同?我要做个绑定IP验证的东东。_百度知道
JAVA程序如何判断两个不同设置的IP相同?我要做个绑定IP验证的东东。
publicstaticbyte[]getDefaultAddress(){privatestaticbyte[]defaultAprivatestaticSthisIppublicstatic(){if(thisIp==&123.123.123.123&)ip=thisIp;if(thisIp==&111....
public static byte[] getDefaultAddress(){
private static byte[]
private static S
public static ()
if(thisIp == &123.123.123.123&)
ip = thisIp;
if(thisIp == &111.111.111.111&)
ip = thisIp;
defaultAddress = InetAddress.getByName(ip).getAddress();
catch(UnknownHostException e)
throw new RuntimeException(&Failed to resolve DSN for address&, e);
return defaultA}上面漏写了,其中 thisIp也是可以在其他设置设置好,调用过来的一个IP,我的意思就是想:我在程序里设置 几个IP地址,然后用户在使用该程序时会检测他本地IP是否跟我设置的IP相同,如果相同,那么返回一个设置好的认证IP,如果不相同,我就让他返回 127.0.0.1希望高手 写个范例出来,非常感谢! =============================噢,我是新手,不太懂。用equals来比较?谢谢
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
<span class="wgt-replyer-all-uname
" data-href="https://zhidao.baidu.com/usercenter?uid=a8f05e6685417
<span class="wgt-replyer-all-card-name3 wgt-replyer-all-card-names" data-href="https://zhidao.baidu.com/usercenter?uid=a8f05e6685417
采纳数:37
获赞数:83
擅长:暂未定制
首先,请你理解一个java中字符串的比较 == 与equals的区别你这thisIp == &123.123.123.123&是永远为false的。不信你可以试.
malijie3414
malijie3414
采纳数:14
获赞数:14
呵呵补充一下,==比较的是内存地址是否相等,即是否引用的是同一位置,equals比较的字符串中实际内容
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。谁有JAVA实现的自动识别验证码程序,要那种可以识别同一个字母或者数字但却是不同字体的逻辑的代码.。_百度知道
谁有JAVA实现的自动识别验证码程序,要那种可以识别同一个字母或者数字但却是不同字体的逻辑的代码.。
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:35
获赞数:92
自动识别验证码程??是别人网站的验证码吗
如果是 没有这个程序
想都别想了
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java中对输入的字符串进行判断_百度知道
java中对输入的字符串进行判断
从控制台中用Scanne从键盘输入字符串,函数hw()是对字符串是否是回文进行判的函数,我想实现在一次判断结束后能继续输入,从而能继续判断用什么办法...
从控制台中用Scanne从键盘输入字符串,函数hw()是对字符串是否是回文进行判的函数,我想实现在一次判断结束后能继续输入,从而能继续判断 用什么办法
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
做真实的自己 用良心做教育
千锋教育专注HTML5前端、Java开发、Python全栈、UI设计、物联网嵌入式、区块链、大数据、人工智能、软件测试、PHP、云计算、信息安全、Unity游戏开发、红帽RHCE认证培训服务
用equals方法进行比较判断,如:输入的字符串为str=zhidao&zhidao&.equals(str))Equals则是string对象的方法  我们比较无非就是这两种 1、基本数据类型比较
2、引用对象比较1、基本数据类型比较Equals都比较两个值是否相等。相等为true 否则为false;2、引用对象比较Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;
法国浪漫眼神
法国浪漫眼神
获赞数:16
擅长:暂未定制
String str=while(true){System.out.println(&请输入要判断的字符串:&);str=scanner.nextLine();if(&quit&.equals(str)){}hw();}
本回答被提问者和网友采纳
采纳数:59
获赞数:392
import java.util.Spublic class HWStr {
static String hw(String str){
String hWstrMax =
char[] c=str.toCharArray();
for(int i=1;i&(c.length/2+1);i++){
if(c[i-1]==c[i+1]){
int flag=0;
for(int m=i-1,n=i+1;m&=0&&n&c.m--,n++){
if(c[m]==c[n]){
if(flag==i){
hWstrMax=str.substring(0, 2*i+1);
return hWstrM
static void continueYN(){
Scanner scan=new Scanner(System.in);
System.out.println(&请输入你要判断的字符串:&);
String str1=scan.nextLine();
System.out.println(hw(str1));
System.out.println(&是否继续y/n&);
if(scan.nextLine().equals(&y&)){
continueYN();
System.out.println(&你放弃了&);
public static void main(String[] args){
continueYN();
采纳数:3068
获赞数:26345
那你在scanner加上一个for循环。之后满足条件的brake;不满足条件的就继续输入就行,for循环次数可以自己控制一下
vaccumlike
vaccumlike
fro (){Scanneif(true){ }else{}}
其他2条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java 如何实现同一账户登录验证
[问题点数:40分,结帖人wangzhuoyan]
本版专家分:870
结帖率 100%
CSDN今日推荐
本版专家分:868
本版专家分:22040
2013年6月 Java大版内专家分月排行榜第一
本版专家分:868
本版专家分:870
本版专家分:870
本版专家分:1290
本版专家分:870
本版专家分:868
本版专家分:870
本版专家分:78
本版专家分:870
本版专家分:870
本版专家分:5247
本版专家分:2
本版专家分:870
本版专家分:502
本版专家分:502
本版专家分:186
本版专家分:5247
本版专家分:870
本版专家分:5247
本版专家分:870
本版专家分:846
本版专家分:870
本版专家分:135048
2008年 总版技术专家分年内排行榜第三
2008年2月 总版技术专家分月排行榜第一2008年1月 总版技术专家分月排行榜第一
2008年7月 总版技术专家分月排行榜第三2008年6月 总版技术专家分月排行榜第三
2009年7月 Java大版内专家分月排行榜第一2008年9月 Java大版内专家分月排行榜第一2008年8月 Java大版内专家分月排行榜第一2008年7月 Java大版内专家分月排行榜第一2008年6月 Java大版内专家分月排行榜第一2008年5月 Java大版内专家分月排行榜第一2008年3月 Java大版内专家分月排行榜第一2008年2月 Java大版内专家分月排行榜第一2008年1月 Java大版内专家分月排行榜第一2007年12月 Java大版内专家分月排行榜第一
本版专家分:5247
本版专家分:870
本版专家分:846
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐

我要回帖

更多关于 java条件表达式 的文章

 

随机推荐