AJAX+JAVA用户登陆注册验证

发布时间:2019-11-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了AJAX+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()" /><div id="alert" style="display:inline"></div> </body> </html>

这里没有用DAO层,直接用servlet和service层进行验证。
下面是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+JAVA用户登陆注册验证全部内容,希望文章能够帮你解决AJAX+JAVA用户登陆注册验证所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。