package org.crazyit.hrsystem.web;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.imageio.*;
/**
* Description:
* <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
* <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
@WebServlet(urlPatterns={"/WEB-INF/content/authImg.jsp"})
public class AuthImg
extends HttpServlet
{
//定义图形验证码中绘制字符的字体
private final Font mFont =
new Font("Arial Black", Font.PLAIN, 16);
//定义图形验证码的大小
private final int IMG_WIDTH = 100;
private final int IMG_HEIGTH = 18;
//定义一个获取随机颜色的方法
private Color getRandColor(int fc,int bc)
{
Random random = new Random();
if(fc > 255) fc = 255;
if(bc > 255) bc=255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
//得到随机颜色
return new Color(r , g , b);
}
//重写service方法,生成对客户端的响应
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
//设置禁止缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
BufferedImage image = new BufferedImage
(IMG_WIDTH , IMG_HEIGTH , BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
Random random = new Random();
g.setColor(getRandColor(200 , 250));
//填充背景色
g.fillRect(1, 1, IMG_WIDTH - 1, IMG_HEIGTH - 1);
//为图形验证码绘制边框
g.setColor(new Color(102 , 102 , 102));
g.drawRect(0, 0, IMG_WIDTH - 1, IMG_HEIGTH - 1);
g.setColor(getRandColor(160,200));
//生成随机干扰线
for (int i = 0 ; i < 80 ; i++)
{
int x = random.nextInt(IMG_WIDTH - 1);
int y = random.nextInt(IMG_HEIGTH - 1);
int xl = random.nextInt(6) + 1;
int yl = random.nextInt(12) + 1;
g.drawLine(x , y , x + xl , y + yl);
}
g.setColor(getRandColor(160,200));
//生成随机干扰线
for (int i = 0 ; i < 80 ; i++)
{
int x = random.nextInt(IMG_WIDTH - 1);
int y = random.nextInt(IMG_HEIGTH - 1);
int xl = random.nextInt(12) + 1;
int yl = random.nextInt(6) + 1;
g.drawLine(x , y , x - xl , y - yl);
}
//设置绘制字符的字体
g.setFont(mFont);
//用于保存系统生成的随机字符串
String sRand = "";
for (int i = 0 ; i < 6 ; i++)
{
String tmp = getRandomChar();
sRand += tmp;
//获取随机颜色
g.setColor(new Color(20 + random.nextInt(110)
,20 + random.nextInt(110)
,20 + random.nextInt(110)));
//在图片上绘制系统生成的随机字符
g.drawString(tmp , 15 * i + 10,15);
}
//获取HttpSesssion对象
HttpSession session = request.getSession(true);
//将随机字符串放入HttpSesssion对象中
session.setAttribute("rand" , sRand);
g.dispose();
//向输出流中输出图片
ImageIO.write(image, "JPEG", response.getOutputStream());
}
//定义获取随机字符串方法
private String getRandomChar()
{
//生成一个0、1、2的随机数字
int rand = (int)Math.round(Math.random() * 2);
long itmp = 0;
char ctmp = '\u0000';
switch (rand)
{
//生成大写字母
case 1:
itmp = Math.round(Math.random() * 25 + 65);
ctmp = (char)itmp;
return String.valueOf(ctmp);
//生成小写字母
case 2:
itmp = Math.round(Math.random() * 25 + 97);
ctmp = (char)itmp;
return String.valueOf(ctmp);
//生成数字
default :
itmp = Math.round(Math.random() * 9);
return itmp + "";
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
j2ee.zip_ssh_ssh 源码_李刚 j2ee_李刚 ssh_李刚 源码
共133个文件
jar:46个
class:29个
java:24个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 72 浏览量
2022-09-20
19:22:05
上传
评论
收藏 16.48MB ZIP 举报
温馨提示
基本SSH框架实现,李刚轻量级SSH框架上的源码,Struts2+Spring3+Hibernate3,做为初学者是个很不错的学习源码!
资源推荐
资源详情
资源评论
收起资源包目录
j2ee.zip_ssh_ssh 源码_李刚 j2ee_李刚 ssh_李刚 源码 (133个子文件)
AuthImg.class 4KB
UserDaoHibernate.class 3KB
ViewAddress.class 3KB
UserManagerImpl.class 3KB
UserAction.class 3KB
AddressUserManagerImpl.class 3KB
AddressDaoHibernate.class 3KB
User.class 2KB
ViewPass.class 2KB
AddAction.class 2KB
selectAddressbyid.class 2KB
j2eeDaoSupport.class 2KB
UpdateAction.class 2KB
j2eeDaoSupport$3.class 2KB
j2eeDaoSupport$2.class 2KB
j2eeDaoSupport$1.class 1KB
UpdatejgAction.class 1KB
Address.class 1KB
test.class 1KB
test.class 1KB
SelectAllAddressAction.class 1KB
SelectAction.class 1009B
DeleteAction.class 952B
applet.class 846B
applet.class 846B
AddressDao.class 768B
UserDao.class 672B
AddressManager.class 644B
UserManager.class 582B
.classpath 721B
org.eclipse.wst.common.component 466B
org.eclipse.wst.jsdt.ui.superType.container 49B
hibernate3.jar 3.9MB
aspectjweaver.jar 1.6MB
xwork-core-2.2.1.jar 997KB
freemarker-2.3.16.jar 860KB
struts2-core-2.2.1.jar 755KB
mysql-connector-java-5.1.13-bin.jar 750KB
org.springframework.context-3.0.5.RELEASE.jar 653KB
javassist-3.12.0.GA.jar 618KB
com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar 603KB
commons-collections-3.1.jar 546KB
org.springframework.beans-3.0.5.RELEASE.jar 542KB
javassist-3.7.ga.jar 531KB
com.springsource.org.quartz-1.6.2.jar 440KB
antlr-2.7.6.jar 433KB
org.springframework.web.servlet-3.0.5.RELEASE.jar 409KB
org.springframework.web-3.0.5.RELEASE.jar 386KB
org.springframework.jdbc-3.0.5.RELEASE.jar 377KB
org.springframework.core-3.0.5.RELEASE.jar 373KB
org.springframework.orm-3.0.5.RELEASE.jar 326KB
backport-util-concurrent.jar 324KB
com.springsource.net.sf.cglib-2.2.0.jar 319KB
org.springframework.aop-3.0.5.RELEASE.jar 314KB
dom4j-1.6.1.jar 307KB
ehcache-1.5.0.jar 258KB
org.springframework.transaction-3.0.5.RELEASE.jar 226KB
ognl-3.0.jar 224KB
org.springframework.test-3.0.5.RELEASE.jar 200KB
org.springframework.jms-3.0.5.RELEASE.jar 181KB
org.springframework.web.portlet-3.0.5.RELEASE.jar 171KB
org.springframework.expression-3.0.5.RELEASE.jar 166KB
hibernate-jpa-2.0-api-1.0.0.Final.jar 99KB
org.springframework.context.support-3.0.5.RELEASE.jar 99KB
commons-io-1.3.2.jar 86KB
com.springsource.org.apache.commons.logging-1.1.1.jar 60KB
org.springframework.oxm-3.0.5.RELEASE.jar 60KB
commons-fileupload-1.2.1.jar 56KB
org.springframework.asm-3.0.5.RELEASE.jar 52KB
org.springframework.aspects-3.0.5.RELEASE.jar 35KB
org.springframework.web.struts-3.0.5.RELEASE.jar 31KB
slf4j-api-1.6.1.jar 25KB
struts2-spring-plugin-2.2.1.jar 21KB
jta-1.1.jar 11KB
org.springframework.instrument.tomcat-3.0.5.RELEASE.jar 6KB
slf4j-nop-1.6.1.jar 5KB
com.springsource.org.aopalliance-1.0.0.jar 5KB
org.springframework.instrument-3.0.5.RELEASE.jar 2KB
AuthImg.java 4KB
j2eeDaoSupport.java 3KB
AddressDaoHibernate.java 3KB
UserDaoHibernate.java 3KB
ViewAddress.java 2KB
UserAction.java 2KB
UserManagerImpl.java 2KB
AddressDao.java 2KB
AddressUserManagerImpl.java 1KB
UserDao.java 1KB
ViewPass.java 1KB
User.java 1KB
UserManager.java 1KB
AddAction.java 1KB
selectAddressbyid.java 980B
AddressManager.java 980B
UpdateAction.java 975B
UpdatejgAction.java 806B
SelectAction.java 745B
DeleteAction.java 731B
SelectAllAddressAction.java 720B
Address.java 605B
共 133 条
- 1
- 2
资源评论
周楷雯
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功