⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signup.java

📁 mail sent and revesive system jsp+mysql
💻 JAVA
字号:
package fengyun.Fastmail.beans;import java.util.*;import java.sql.ResultSet;import javax.servlet.http.*;import fengyun.Fastmail.util.MaildirMake;/** * 用户注册 * @author sanware & fengyun * @version 1.01 */public class SignUp {	private static BeansConstants CONST = BeansConstants.getInstance();	/**	 * 检查用户是否存在	 * @param userid 用户ID	 */		public static boolean exists(String userid) {		if (userid == null || "".equals(userid)) return false;		try {
			String sql = "select * from mailbox where userid = ?";
			Mysql mysql = new Mysql(sql);			mysql.setString(1,userid);
			ResultSet rs = mysql.executeQuery();			boolean next = rs.next();			mysql.close();			mysql = null;			return next;		} catch (Exception ex) {			ex.printStackTrace();			return false;		}	}	public static boolean isValid(String userid) {		if (userid.length() < 2 || userid.length() > 19) return false;		char current = ' ';		for (int i=0; i < userid.length(); i++) {			current = userid.charAt(i);			if (current != '-' && current !='_' && current != '.' && !Character.isLetterOrDigit(current)) return false;		}		return true;	}
    public static String getPassword(HttpServletRequest request) {
        String userid = request.getParameter("userid");
        String certificateType = request.getParameter("certificateType");
        String cardNumber = request.getParameter("cardNumber");
        String year = request.getParameter("year");
        String month = request.getParameter("month");
        String day = request.getParameter("day");
        if(userid == null || "".equals(userid))
            return null;
        if(certificateType == null || cardNumber == null || "".equals("certificateType") || "".equals("cardNumber"))
            return null;
        if(year == null || month == null || day == null || "".equals(year) || "".equals(month) || "".equals(day))
            return null;
        try
        {
            String sql = "select userid from profile mailbox where userid = ? and year(birthday) = ? and month(birthday)=? and dayofmonth(birthday)=?"
				         + " and certificateType = ? and cardNumber = ?";
            String upsql = "update mailbox set password=PASSWORD(?) where userid=?";
            Mysql mysql = new Mysql(sql);
            mysql.setString(1, userid);
			mysql.setString(2,year);
			mysql.setString(3,month);
			mysql.setString(4,day);
			mysql.setInt(5,Integer.parseInt(certificateType));
			mysql.setString(6,cardNumber);
            ResultSet rs = mysql.executeQuery();
            String newpass = null;
            if(rs != null && rs.next())
            {
                newpass = Integer.toString(Math.abs((new Random()).nextInt()) % 0xf4240 + 1);
                mysql.prepareStatement(upsql);
                mysql.setString(1, newpass);
                mysql.setString(2, userid);
                mysql.executeUpdate();
            }
            mysql.close();
            mysql = null;
            return newpass;
        }
        catch(Exception exception) {
            exception.printStackTrace();
        }
        return null;
    }	/**	 * 注册(数据库)	 */	public static int register(HttpServletRequest request) {		String userid = request.getParameter(CONST.userid);		if (exists(userid)) return CONST.USERID_EXISTS;		String passwd = request.getParameter(CONST.passwd);		String confirm = request.getParameter(CONST.confirm);		String username = request.getParameter(CONST.username);		String gender = request.getParameter(CONST.gender);		String certificateType = request.getParameter(CONST.certificateType);		String cardNumber = request.getParameter(CONST.cardNumber);		String year = request.getParameter(CONST.birthYear);		String month = request.getParameter(CONST.birthMonth);		String day = request.getParameter(CONST.birthDay);		if (passwd == null|| confirm == null || username == null || gender == null || "".equals(passwd) || "".equals(username) || "".equals(gender)) 			return CONST.FORM_ERROR;		if (certificateType == null || cardNumber == null || "".equals("certificateType") || "".equals("cardNumber")) return CONST.FORM_ERROR;		if (year == null || month == null || day == null || "".equals(year) || "".equals(month) || "".equals(day)) return CONST.FORM_ERROR;		if (!confirm.equals(passwd)) return CONST.CONFIRM_ERROR;		char current = ' ';		if (Integer.parseInt(certificateType)==1) {			for (int i=0; i < cardNumber.length(); i++) {				current = cardNumber.charAt(i);				if (current<48 || current>57) return CONST.IDCARD_ERROR;			}		} else {			for (int i=0; i < cardNumber.length(); i++) {				current = cardNumber.charAt(i);				if (current != '-' && !Character.isLetterOrDigit(current)) return CONST.STUDENT_ERROR;			}		}				String location = request.getParameter(CONST.location);		String zipcode = request.getParameter(CONST.zipcode);		String education = request.getParameter(CONST.education);		String occupation = request.getParameter(CONST.occupation);		String province = request.getParameter(CONST.province);		String phone = request.getParameter(CONST.phone);		String birthday = new String (year+"-"+month+"-"+day);		java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat (CONST.entimeformat);		String regdate = formatter.format(new java.util.Date());
		String profilesql = "insert into profile (userid,regdate,username,gender,certificateType,cardNumber,birthday,location,zipcode,education,occupation,province,phone) values (?,?,?,?,?,?,?,?,?,?,?,?,?)";
				int spread = java.lang.Math.abs(new java.util.Random().nextInt()) % CONST.maxspread + 1;		String home = CONST.userhome + java.io.File.separator + spread					  + java.io.File.separator + userid;		String mailboxsql = "insert into mailbox (userid,password,home) values (?,PASSWORD(?),?)";
        String foldersql = "insert into folderlist (userid,folderindex,folderid,foldername,type) values (?,?,?,?,?)";
        String folderidlist[] = {
            CONST.rev, CONST.snt, CONST.src, CONST.dsb
        };
        int folderindexlist[] = {
            10000, 20000, 30000, 40000
        };
        String foldernamelist[] = {
            CONST.revname, CONST.sntname, CONST.srcname, CONST.dsbname
        };
		try { //添加到数据库			Mysql mysql = new Mysql(profilesql);			mysql.setString(1,userid);			mysql.setString(2,regdate);
			mysql.setString(3,username);
			mysql.setString(4,gender);			mysql.setString(5,certificateType);
			mysql.setString(6,cardNumber);
			mysql.setString(7,birthday);
			mysql.setString(8,location);
			mysql.setString(9,zipcode);
			mysql.setString(10,education);
			mysql.setString(11,occupation);
			mysql.setString(12,province);
			mysql.setString(13,phone);
			mysql.executeUpdate();			
			mysql.prepareStatement(mailboxsql);
			mysql.setString(1,userid);
			mysql.setString(2,passwd);
			mysql.setString(3,home);
			mysql.executeUpdate();
			            mysql.prepareStatement(foldersql);
            for(int i = 0; i < folderindexlist.length; i++)
            {
                mysql.setString(1, userid);
                mysql.setInt(2, folderindexlist[i]);
                mysql.setString(3, folderidlist[i]);
                mysql.setString(4, foldernamelist[i]);
                mysql.setInt(5, 0);
                mysql.executeUpdate();
                mysql.clearParameters();
            }
			mysql.close();			mysql = null;		} catch (Exception ex) {			ex.printStackTrace();			return CONST.SQL_ERROR;		}		int status = MaildirMake.make(home + java.io.File.separator + CONST.maildir);		switch(status) {		case MaildirMake.OK : {								  return CONST.OK;							  }		case MaildirMake.CHANGEMOD_ERROR :							  {								  return CONST.CHMODERROR;							  }		case MaildirMake.MAILDIR_EXISTS :							  {								  return CONST.MAILDIREXISTS;							  }		case MaildirMake.CREATE_ERROR :							  {								  return CONST.CANTCREATEFOLD;							  }		default :{					 return CONST.OK;				 }		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -