javaweb中注册功能的实现

注册功能的实现

实验步骤

1、创建数据库mydb,字符编码为utf-8。
2、在mydb数据库中创建一个tb_user表,该表的结构如下所示:
javaweb中注册功能的实现
3、在eclipse中导入试验1的工程,导入后的工程结构图如下所示:
javaweb中注册功能的实现
4、复制register文件夹到WebContent目录下,该文件夹包含注册页面及相关资源。
5、编写字符串加密的类Md5Encrypt。
在src目录下创建一个名为“swu.xxj.util”的包,并在该包中创建一个类,类名为“Md5Encrypt”;“Md5Encrypt”类的代码如下:

package swu.xxj.util;
import java.security.MessageDigest;
public class Md5Encrypt {
    public String Encrypt(String strSrc) {
        MessageDigest md = null;
        Md5Encrypt mept = new Md5Encrypt();
        String strDes = null;
        byte[] bt = strSrc.getBytes();
        try {
            md = MessageDigest.getInstance("MD5");
            md.update(bt);
            strDes = mept.bytes2Hex(md.digest()); //to HexString
        } catch (Exception e) {
            System.out.println("Invalid algorithm.\n" + e.getMessage());
            return null;
        }
        return strDes;
    }
    private String bytes2Hex(byte[] bts) {
        String des = "";
        String tmp = null;
        for (int i = 0; i < bts.length; i++) {
            tmp = (Integer.toHexString(bts[i] & 0xFF));
            if (tmp.length() == 1) {
                des += "0";
            }
            des += tmp;
        }
        return des;
    }
}

6、在swu.xxj.service包中的UserService类中添加一个方法addUser方法,该方法用于保存注册用户的信息。方法的完整代码如下:

public static boolean addUser(String name,String password, String phone){
		Connection conn=null;
		conn=DbConnect.getConnection();
		boolean flag=false;
		String sql="insert into tb_user(name,password,phone) values(?,?,?)";
		try {
			PreparedStatement ps=conn.prepareStatement(sql);
			ps.setString(1, name);
			ps.setString(2, password);
			ps.setString(3, phone);
			int n=ps.executeUpdate();
			if(n>0){
				flag=true;
			}
			ps.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			DbConnect.closeConnection(conn);
		}
		return flag;
	}

7、在swu.xxj.control包中创建一个名为UserRegister的Servlet。并在该Servlet的doPost方法下编写如下代码:

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");
		String name=request.getParameter("name");
		String password=request.getParameter("password");
		Md5Encrypt md5encrypt=new Md5Encrypt();
		password=md5encrypt.Encrypt(password);
		boolean flag=UserService.checkUserExist(name, password);
		if(flag){
			HttpSession session=request.getSession();
			session.setAttribute("name", name);
			session.setAttribute("password",password);
			response.sendRedirect("index.jsp");
		}
		else{
			response.sendRedirect("mylogin/login.jsp");
		}
		
	}

实验完成后

1.实验2程序框图
javaweb中注册功能的实现
2.数据库创建
javaweb中注册功能的实现
3.实验结果
javaweb中注册功能的实现
4.注意事项
·为了密码匹配,两处都需进行加密。
javaweb中注册功能的实现
javaweb中注册功能的实现
·index.jsp文件在WebContent目录下
javaweb中注册功能的实现
·id处注意设置自动递增
javaweb中注册功能的实现
【ps】
以上均为在老师指导下自己实验所得,欢迎大家来讨论交流。项目资源请自行下载。