仓酷云
标题:
JAVA教程之用JSP文件天生网站考证码
[打印本页]
作者:
只想知道
时间:
2015-1-18 11:32
标题:
JAVA教程之用JSP文件天生网站考证码
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。js|考证码random.jsp文件代码:
<%@pageautoFlush="false"import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>
<%@pageimport="org.apache.commons.lang.RandomStringUtils"%>
<%
RandomStringUtilsrs=newRandomStringUtils();
Stringrandom=rs.randomAlphanumeric(4);
session.setAttribute("random",random);
%>
<%
out.clear();
response.setContentType("image/jpeg");
response.addHeader("pragma","NO-cache");
response.addHeader("Cache-Control","no-cache");
response.addDateHeader("Expries",0);
intwidth=100,height=40;
BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphicsg=image.getGraphics();
//以下添补背景?色
g.setColor(Color.GRAY);
FontDeFont=newFont("SansSerif",Font.PLAIN,32);
g.setFont(DeFont);
g.fillRect(0,0,width,height);
//?置字体?色
g.setColor(Color.RED);
g.drawString(random,3,30);
g.dispose();
ServletOutputStreamoutStream=response.getOutputStream();
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(outStream);
encoder.encode(image);
outStream.close();
%>
test.jsp文件代码以下:
<%@pagecontentType="text/html;charset=UTF-8"language="java"import="java.sql.*"errorPage=""%>
<html>
<head>
<title>UntitledDocument</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<imgsrc="random.jsp">
</body>
</html>
假如不想导进Apache的包能够本人编译上面这个文件
//FrontEndPlusGUIforJAD
//DeCompiled:RandomStringUtils.class
packageorg.apache.commons.lang;
importjava.util.Random;
publicclassRandomStringUtils
{
privatestaticfinalRandomRANDOM=newRandom();
publicRandomStringUtils()
{
}
publicstaticStringrandom(intcount)
{
returnrandom(count,false,false);
}
publicstaticStringrandomAscii(intcount)
{
returnrandom(count,32,127,false,false);
}
publicstaticStringrandomAlphabetic(intcount)
{
returnrandom(count,true,false);
}
publicstaticStringrandomAlphanumeric(intcount)
{
returnrandom(count,true,true);
}
publicstaticStringrandomNumeric(intcount)
{
returnrandom(count,false,true);
}
publicstaticStringrandom(intcount,booleanletters,booleannumbers)
{
returnrandom(count,0,0,letters,numbers);
}
publicstaticStringrandom(intcount,intstart,intend,booleanletters,booleannumbers)
{
returnrandom(count,start,end,letters,numbers,null);
}
publicstaticStringrandom(intcount,intstart,intend,booleanletters,booleannumbers,charset[])
{
if(start==0&&end==0)
{
end=122;
start=32;
if(!letters&&!numbers)
{
start=0;
end=0x7fffffff;
}
}
StringBufferbuffer=newStringBuffer();
intgap=end-start;
while(count--!=0)
{
charch;
if(set==null)
ch=(char)(RANDOM.nextInt(gap)+start);
else
ch=set[RANDOM.nextInt(gap)+start];
if(letters&&numbers&&Character.isLetterOrDigit(ch)||letters&&Character.isLetter(ch)||numbers&&Character.isDigit(ch)||!letters&&!numbers)
buffer.append(ch);
else
count++;
}
returnbuffer.toString();
}
publicstaticStringrandom(intcount,Stringset)
{
returnrandom(count,set.toCharArray());
}
publicstaticStringrandom(intcount,charset[])
{
returnrandom(count,0,set.length-1,false,false,set);
}
}
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
作者:
谁可相欹
时间:
2015-1-19 08:53
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
小女巫
时间:
2015-1-24 11:29
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者:
爱飞
时间:
2015-1-27 16:20
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者:
再现理想
时间:
2015-1-27 19:59
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
作者:
若天明
时间:
2015-2-2 21:50
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
深爱那片海
时间:
2015-2-5 03:31
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者:
活着的死人
时间:
2015-2-5 13:38
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者:
兰色精灵
时间:
2015-2-6 16:16
Java 编程语言的风格十分接近C、C++语言。
作者:
乐观
时间:
2015-2-7 01:17
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者:
老尸
时间:
2015-2-15 00:31
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者:
精灵巫婆
时间:
2015-3-3 16:24
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者:
小妖女
时间:
2015-3-11 11:38
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者:
冷月葬花魂
时间:
2015-3-12 04:53
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
莫相离
时间:
2015-3-13 03:10
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者:
蒙在股里
时间:
2015-3-20 11:22
是一种语言,用以产生「小应用程序(Applet(s))
作者:
admin
时间:
2015-3-22 04:08
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者:
再见西城
时间:
2015-3-22 20:12
是一种为 Internet发展的计算机语言
作者:
小魔女
时间:
2015-3-27 16:08
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者:
第二个灵魂
时间:
2015-3-29 06:43
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
愤怒的大鸟
时间:
2015-4-1 07:10
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2