站長資訊網
        最全最豐富的資訊網站

        實現AJAX+JAVA用戶登陸注冊驗證的代碼

        實現AJAX+JAVA用戶登陸注冊驗證的代碼

        【相關學習推薦: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>

        這里沒有用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視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 99久久精品免费观看国产| 久久99国产精品久久久| 国产亚洲精品无码成人| 久久97久久97精品免视看秋霞| 精品水蜜桃久久久久久久| 69久久精品无码一区二区| 亚洲精品无码乱码成人| 四虎亚洲国产成人久久精品| 国产精品无码国模私拍视频 | 日产欧美国产日韩精品| 精品一区二区三区免费视频| 99热成人精品国产免男男| 国产精品三级国产电影| 日韩精品无码专区免费播放| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 青娱乐国产精品视频| 四虎成人www国产精品| 99久久精品费精品国产一区二区| 亚洲精品美女久久777777| 日韩精品人成在线播放| 久久精品无码一区二区三区日韩 | 欧美亚洲精品在线| 精品人妻人人做人人爽| 亚洲精品亚洲人成人网| 四虎影视永久在线精品| 香蕉国产精品麻豆亚洲欧美日韩精品自拍欧美v国 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 欧美精品第一页| 国产精品成人va在线观看| 99精品久久久久中文字幕| 欧美日韩人妻精品一区二区在线| 国内精品久久久久久久亚洲| 精品欧美一区二区三区久久久| 国产精品无码免费播放| 国产精品部在线观看| 国产成人亚洲精品影院| 国产精品免费αv视频| 国产精品小视频免费无限app| 国产女人18毛片水真多18精品 | 无码人妻精品一区二区三区久久 | 日韩精品一区二区三区影院|