1.需要的jar文件
2.需要的新建的包
说明:dao【接口:实体和数据交互】、entity【实体类】、filter【过滤器】、service【接口:业务层,里面的方法和dao层一样,只不过dao层直接连接数据库,而它是调用dao层的方法】、servlet【jsp页面的一些处理】、util【一些工具类】
3.新建的jsp文件
说明:index.jsp【登录界面】、regmail【注册页面】、activeSuc.jsp【激活成功页面】
4.业务流程:
新建regmail.jsp→regservlet.java(获取jsp页面中的name,psw,mail,根据这三个字段再加上激活状态和激活码新建一个Users的实体类)→regservlet(将获取的字段set到一个新定义的user上,激活码随机产生(在工具类下面的UUIDutil.java))→RegisterService(接口)业务层→RegisterServiceimp(实现类)调用DAO层接口的方法→RegisterDao(接口)→RegisterDaoimp(实现类)→新建方法,实现与数据的交互,如果插入数据成功之后,返回一个User对象→regservlet(判断返回的User是否为空,不为空则start工具类下面的SendEmailThread线程类)→邮件发送成功去邮箱点击链接→ActiveServlet此时链接会带一个参数active→RegisterService(接口)业务层(将激活码作为参数传递过去,判断激活码是否存在即可)→RegisterServiceimp(实现类)调用DAO层接口的方法→RegisterDao(接口)→RegisterDaoimp(实现类)→新建方法,实现与数据的交互,没有找到该用户返回0,已结激活返回2,激活成功返回1→将返回值存在容器中传递给ActiveSuc页面→在页面上接值做判断(激活成功后跳转转到)→index.jsp(登录界面)→LoginServlet(调用service层的login方法 )→RegisterServiceimp(实现类)调用DAO层接口的方法→RegisterDao(接口)→RegisterDaoimp(实现类)→新建方法,实现与数据的交互,登录名合法返回run.query(),如果为1说明合法其余则不合法→LoginServlet(做判断,如果为1则跳转到登录成功,否则向index.jsp页面输出错误信息)