请教java编程中的验证码问题:

ChiChengIT 2010-07-06 09:59:06
在注册时要输入验证码验证登录,请问那位高手能够提供一个简单的能够随即产生并实现验证的源码,最好拿来就能用的……
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lulu19881103 2010-07-21
  • 打赏
  • 举报
回复
谢谢,学到了~~~
sun0322 2010-07-06
  • 打赏
  • 举报
回复


<tr><td>验证码</td><td><input name="authCode" size=5><img src="../login/AuthenticationCode" alt=验证码 id=authCodeID></td><td></td></tr>




src的路径根据你的情况写
sun0322 2010-07-06
  • 打赏
  • 举报
回复


<!-- 验证码 -->
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>AuthenticationCode</servlet-name>
<servlet-class>com.city.sxzlc.servlet.AuthenticationCode</servlet-class>
</servlet>

<!-- 验证码 mapping -->
<servlet-mapping>
<servlet-name>AuthenticationCode</servlet-name>
<url-pattern>/login/AuthenticationCode</url-pattern>
</servlet-mapping>


sun0322 2010-07-06
  • 打赏
  • 举报
回复

package com.city.sxzlc.servlet;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
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;

public class AuthenticationCode extends HttpServlet {


public AuthenticationCode() {
super();
}


public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//验证码
int width=70;
int height=20;
Integer[] a = new Integer[4];
String randStr="";
Random random = new Random();
Color c = new Color(34,56,78);
for(int i=0;i<4;i++)
a[i] = random.nextInt(10);
for(Integer ele:a)
randStr+=ele;
System.out.println(randStr);


try{
response.setContentType("image/jpeg");
OutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR); //feredImage(int width, int height, int imageType)
Graphics g = image.getGraphics();
g.fillRect(1, 1, width, height);
g.setColor(c);

int i=5;
i=5+random.nextInt(20);
for(Integer ele:a) {//一个一个画
g.drawString(ele.toString(), i+random.nextInt(5), 10+random.nextInt(10));
i=i+8;
}

ImageIO.write(image, "jpeg", out);
}catch(Exception e){e.printStackTrace();}
request.getSession().setAttribute("authCode", randStr);
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

this.doGet(request, response);
}


public void init() throws ServletException {

}

}







50,541

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧