Constant.java
public class Constant {
//提高可读性
public static final int NORMAL_LEVEL = 1;//普通
public static final int HIGHT_LEVEL = 2;//高级
public static final int VIP_LEVEL = 3;//VIP
//处理结果
public static final int EXECUTE_OK = 0; //成功
public static final int EXECUTE_FAIL = 1; //失败
//向Session存放的key,避免冲突
public static final String USER_KEY =
"com.dang.user";
public static final String CART_KEY =
"com.dang.cart";
}
=================================================
VerifyCodeUtils.java 文件
package org.dang.action.util;
import java.util.UUID;
/**
* 邮箱验证码工具类
* @author Administrator
*
*/
public class VerifyCodeUtils {
/**
* 生成UUID
* @return
*/
public static String generateCode() {
UUID uuid = UUID.randomUUID();
return uuid.toString() ;
}
/**
* 获取邮箱验证码的UUID部分
* @param input
* @return
*/
public static String getUUID(String input) {
if (input == null)
return null;
if (input.lastIndexOf("_") < 0)
return null;
return input.substring(0, input.lastIndexOf("_"));
}
/**
* 获取用户ID
* @param input
* @return
*/
public static Integer getUserId(String input) {
if (input == null)
return null;
if (input.lastIndexOf("_") < 0)
return null;
return Integer.valueOf(input.substring(input.lastIndexOf("_") + 1));
}
public static void main(String[] args){
System.out.println(generateCode());
System.out.println(generateCode());
}
}
=================================================
MD5加密算法
MD5Utils.java
public class MD5Utils {
public static String md5(String str) {
try {
//首先利用MD5算法将密码加密,变成等长字节
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] b1 = md.digest(str.getBytes());
//将等长字节利用Base64算法转换成字符串
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(b1);
} catch (Exception e) {
return null;
}
}
===============================================
EmailUtils.java 文件
public class EmailUtils {
public static int sendEmail(String code,String email){
System.out.println("给"+email+"发送了邮箱验证码");
System.out.println("验证码为:"+code);
//TODO 邮件发送
return Constant.EXECUTE_OK;
}
}
================================================
DBUtil.java 连接池
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBUtil {
//连接池对象
private static DataSource dataSource;
//负责将connection与当前执行线程绑定
private static ThreadLocal<Connection> connLocal= new ThreadLocal<Connection>();
static {
try {
Properties props = new Properties();
props.load(DBUtil.class.getClassLoader().getResourceAsStream("dbcp.properties"));
dataSource = BasicDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection openConnection()throws SQLException{
Connection conn = connLocal.get();
if(conn == null){
conn = dataSource.getConnection();
connLocal.set(conn);
}
return conn;
}
public static void closeConnection() throws SQLException{
Connection conn = connLocal.get();
connLocal.set(null);
if(conn != null && !conn.isClosed()){
conn.close();
}
}
}