如何验证邮箱是否存在
前面我们做了一个AJAX练习,就是验证用户名是否存在,现在回到我们的图书管理系统,来写一个如何验证邮箱是否存在的。还是接着之前图书管理后台和前台这个项目,现在是在register.jsp的页面的邮箱验证。
1.项目环境准备
之前我们是在一个单独的AJAX web项目里做的用户名是否存在的验证,现在我们需要把js中获取创建XMLHttpRequest对象的js代码复制过来。这个图书管理系统中有一个js的文件夹,而且下有一个myJS.js,里面也有一段创建XMLHttpRequest对象的代码。
2.Register.jsp引入myJS.js并写checkEmail()方法
2.1表单找到email,添加onblur事件
编辑器打开register.jsp文件,大概在3839行位置对name=email这个修改代码如下。
inputtype="text"
name="email"οnblur="checkEmail()"/>td>
2.2checkEmail()代码
在register.jsp1718行写这个checkEmail()方法
3.Dao层代码
这开始我们由于要和数据库交互,所以麻烦。我们得先创建一个用户表,我这里用小海豚工具快速创建了一个users表,里面填充两条数据。
3.1创建User这个Bean类
我们前面只有Book和PageBean这两个Bean类,这里来添加一个User.java
根据数据库表字段名称,我们来写User.java的代码。
3.2UserDao.java
先创建两个空的java文件,然后分别写代码。
以下是完整的UserDao.java代码
3.3UserDaoImpl.java
4.Service层代码
上面完成了表的创建和Dao层的代码,开始写业务逻辑的代码,先创建下面两个文件。
接口文件的代码如下
packagecom.anthony.service;
importcom.anthony.domain.User;
publicinterfaceUserService{
publicUserfindUserByEmail(Stringemail);
}
具体实现的代码如下
packagecom.anthony.service;
importjava.sql.SQLException;
importcom.anthony.dao.UserDao;
importcom.anthony.dao.UserDaoImpl;
importcom.anthony.domain.User;
publicclassUserServiceImplimplementsUserService{
//创建一个Dao层对象
UserDaoud=newUserDaoImpl();
@Override
publicUserfindUserByEmail(Stringemail) {
try{
returnud.findUserByEmail(email);
}catch(SQLExceptione) {
e.printStackTrace();
}
returnnull;
}
}
下面开始创建Servlet和写Servlet的代码。
5.Servlet代码
创建一个CheckEmailServlet.java的文件,url映射是/checkEmailServlet
packagecom.anthony.web.servlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.anthony.domain.User;
importcom.anthony.service.UserService;
importcom.anthony.service.UserServiceImpl;
publicclassCheckEmailServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
request.setCharacterEncoding("UTF-8");
//1.拿到参数
Stringemail=request.getParameter("email");
//根据email去查找用户
UserServiceus=newUserServiceImpl();
Useruser=us.findUserByEmail(email);
PrintWriterout=response.getWriter();
//判断邮箱是否存在
if(user!=null) {
out.print("true");
}else{
out.print("false");
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doGet(request,response);
}
}
下面开始部署tomcat,重启服务
6.部署测试www.z414.com/qhcy/
浏览器打开https://localhost:8080/BookManagement/register.jsp
邮箱输入框输入tom@163.com,看看效果
邮箱输入tony@126.com,看看效果
这篇文章具体代码,都会上传到github项目上