|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。js图片考证在有存眷册和宣布留言常常用到.我在此用jsp写了个.供人人参考.个中com.sun.image不是java的尺度包.必要别的下载.相干地点为:
http://java.sun.com/products/java-media/jai/
1.random.jsp(发生四位的随机字符,由0-9,a-z,A-Z组成.并把终极字符串放到session中保留以让后续页面考证真伪)
代码以下:
<%@pageautoFlush="false"import="java.util.*,java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>
<%@pageimport=""contentType="text/html;charset=gb2312"%>
<%
Stringchose="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
chardisplay[]={0,,0,,0,,0},ran[]={0,0,0,0},temp;
Randomrand=newRandom();
for(inti=0;i<4;i++)
{
temp=chose.charAt(rand.nextInt(chose.length()));
display[i*2]=temp;
ran=temp;
}
Stringrandom=String.valueOf(display);
session.setAttribute("random",String.valueOf(ran));
%>
<%
out.clear();
response.setContentType("image/jpeg");
response.addHeader("pragma","NO-cache");
response.addHeader("Cache-Control","no-cache");
response.addDateHeader("Expries",0);
intwidth=47,height=15;
BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphicsg=image.getGraphics();
//以下添补背景色彩
g.setColor(Color.GREEN);
g.fillRect(0,0,width,height);
//设置字体色彩
g.setColor(Color.RED);
g.drawString(random,3,10);
g.dispose();
ServletOutputStreamoutStream=response.getOutputStream();
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(outStream);
encoder.encode(image);
outStream.close();
%>
<P>
2.img.jsp(显现考证图片.因为本程序复杂让考证程序也一并放在了一同)
代码以下:
<%@pagecontentType="text/html;charset=gb2312"language="java"%>
<%
Stringnum=request.getParameter("num");
Stringrandom=(String)session.getAttribute("random");
if(num!=null&&random!=null)
{
if(!num.equals(random))
{
out.println("<script>alert(考证码毛病!请重试。)</script>");
out.println("<script>history.go(-1)</script>");
//response.sendRedirect("img.jsp");
}
else
{
out.println("<center>考证乐成!</center>");
}
}
%>
<html>
<head>
<title>图片考证</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<P><body>
<formaction="img.jsp"method="post">
<table>
<tr>
<td>
<inputtype="text"name="num"size=10>
</td>
<td>
<imgsrc="random.jsp">
</td>
</tr>
</table>
<inputtype="submit"value="OK">
</form>
</body>
</html>
申明:有乐趣的网友能够在此基本上增添图片的内容.好比让背景加上纹理.让字符地位倾斜以加年夜扫描程序的难度.人人有甚么意见和倡议,都能够复兴中提出来....
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的 |
|