实现AJAX+JAVA用户登陆注册验证的代码

互联网 20-8-24

【相关学习推荐:java基础教程】

需求

通过ajax异步刷新页面验证用户输入的账号密码是否在数据库中存在。

技术栈

JSP+Servlet+Oracle

具体代码

JSP部分:

<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <script>   function createXMLHttpRequest() {     try {       xmlHttp = new XMLHttpRequest();//除了ie之外的其他浏览器使用ajax     } catch (tryMS) {       try {         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//ie浏览器适配       } catch (otherMS) {         try {           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//ie浏览器适配         } catch (failed) {           xmlHttp = null;         }       }     }     return xmlHttp;   }   //提交请求   var xmlHttp;   function checkUserExists() {     var u = document.getElementById("uname");     var username = u.value;     if (username == "") {       alert("请输入用户名");       u.focus();       return false;     }     //访问字符串     var url = "loginServlet";     //创建核心xmlhttprequest组件     xmlHttp = createXMLHttpRequest();     //设置回调函数     xmlHttp.onreadystatechange = proessRequest;     //初始化核心组件     xmlHttp.open("post", url, true);     //设置请求头     xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");     //发送请求     xmlHttp.send("uname="+username);   }   //回调函数   function proessRequest() {     if (xmlHttp.status==200 && xmlHttp.readyState == 4) {       var b = xmlHttp.responseText;//得到服务端的输出结果       if (b=="true") {         document.getElementById("alert").innerHTML = "<font color='red'>用户名已经存在!</font>";       }else {         document.getElementById("alert").innerHTML = "<font color='blue'>用户名可以使用!</font>";       }     }   } </script> <body>   请输入用户名:   <input id="uname" name="uname" type="text" onblur="checkUserExists()" /><p id="alert" style="display:inline"></p> </body> </html>

下面是service下JDBC查询的代码:

import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;  import com.stx.service.User; import com.stx.service.ConnectionManager;  public class ajaxService {   public boolean searchUser (String uname) {   //jdbc查询用户名是否存在     boolean isFalse = false;     Connection connection = null;     Statement stmt = null;     ResultSet rs = null;     connection = ConnectionManager.getConnection();     try {       stmt = connection.createStatement();       String sql = "select * from user_b where uname='"+uname+"'";//sql语句       rs = stmt.executeQuery(sql);       isFalse=rs.next();      } catch (SQLException e) {       e.printStackTrace();     } finally {       ConnectionManager.closeResultSet(rs);       ConnectionManager.closeStatement(stmt);       ConnectionManager.closeConnection(connection);     }     return isFalse;   } }

JDBC连接代码:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;   public class ConnectionManager {   private final static String DRIVER_CLASS = "oracle.jdbc.OracleDriver";   private final static String URL = "jdbc:oracle:thin:@localhost:1521:orcl";   private final static String DBNAME = "ibook";   private final static String PASSWORD = "qwer";    public static Connection getConnection() {     Connection connection = null;     try {       Class.forName(DRIVER_CLASS);       connection = DriverManager.getConnection(URL, DBNAME, PASSWORD);     } catch (ClassNotFoundException e) {       e.printStackTrace();     } catch (SQLException e) {       e.printStackTrace();     }     return connection;   }    public static void closeResultSet(ResultSet rs) {     try {       if (rs != null)         rs.close();     } catch (SQLException e) {       e.printStackTrace();     }   }    public static void closeConnection(Connection connection) {     try {       if (connection != null && !connection.isClosed())         connection.close();     } catch (SQLException e) {       e.printStackTrace();     }   }    public static void closeStatement(Statement stmt) {     try {       if (stmt != null)         stmt.close();     } catch (SQLException e) {       e.printStackTrace();     }   } }

关于user类:

 public class User {     private String uname;     public User() {       super();     }     public User(String uname) {       super();       this.uname = uname;        }        public String getUname() {       return uname;     }     public void setUname(String uname) {       this.uname = uname;     }

关于控制层servlet:

import java.io.IOException; import java.io.PrintWriter;  import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;  import com.stx.service.ajaxService;  /**  * Servlet implementation class loginServlet  */ public class loginServlet extends HttpServlet {   private static final long serialVersionUID = 1L;   private ajaxService ajaxService = new ajaxService();    /**    * @see HttpServlet#HttpServlet()    */   public loginServlet() {     super();     // TODO Auto-generated constructor stub   }    /**    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)    */   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     request.setCharacterEncoding("UTF-8");     String uname = request.getParameter("uname");//获取到输入的用户名     boolean isUname = ajaxService.searchUser(uname);//调用service中的查询方法     response.setCharacterEncoding("UTF-8");//设置字符编码     PrintWriter out = response.getWriter();     out.print(isUname);     out.flush();     out.close();//关闭资源   }    /**    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)    */   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     // TODO Auto-generated method stub     doGet(request, response);   } }

相关文章推荐:ajax视频教程

以上就是实现AJAX+JAVA用户登陆注册验证的代码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:掌握Java使用Ajax实现跨域上传图片功能

相关资讯