يحتاج
تحقق مما إذا كانت كلمة مرور الحساب التي أدخلها المستخدم موجودة في قاعدة البيانات من خلال صفحة التحديث غير المتزامنة AJAX.
كومة التكنولوجيا
JSP+Servlet+Oracle
رمز محدد
قسم JSP:
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <! "http://www.w3. xmlhttp = new xmlhttprequest () ؛ // متصفحات أخرى بخلاف ie استخدم ajax} catch (tryms) {try {xmlhttp = new ActivexObject ("msxml2.xmlhtp") ؛ ActivexObject ("Microsoft.xmlhttp") ؛ // IE Adaptation} catch (فشل) {xmlhttp = null ؛ }} return xmlhttp ؛ } // إرسال طلب var xmlhttp ؛ الدالة checkuseRexists () {var u = document.getElementById ("uname") ؛ var username = U.Value ؛ if (username == "") {Alert ("الرجاء إدخال اسم المستخدم") ؛ U.Focus () ؛ العودة كاذبة } // الوصول إلى السلسلة var url = "loginservlet" ؛ // إنشاء Core XmlHttPrequest Component XMLHTTP = CreatexMlHttPrequest () ؛ // قم بتعيين وظيفة رد الاتصال XMLHTTP.OnReadyStateChange = proessRequest ؛ // تهيئة core xmlhttp.open ("post" ، url ، true) ؛ // قم بتعيين رأس الطلب XMLHTTP.SetRequestHeader ("نوع المحتوى" ، "التطبيق/X-WWW-Form-urlencoded ؛") ؛ // إرسال طلب xmlhttp.send ("uname ="+اسم المستخدم) ؛ }. color = 'Red'> اسم المستخدم بالفعل! } آخر {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"> </body> </html> لا توجد طبقة DAO هنا ، فقط استخدم طبقة Servlet و Service للتحقق.
فيما يلي رمز استعلام JDBC ضمن الخدمة:
استيراد java.sql.connection ؛ استيراد java.sql.resultset ؛ استيراد java.sql.sqlexception ؛ استيراد java.sql.statement ؛ import com.stx.service.user الاسم موجود منطقي isFalse = false ؛ اتصال الاتصال = فارغ ؛ بيان stmt = فارغة ؛ resultset rs = null ؛ connection = connectionManager.getConnection () ؛ حاول {stmt = connection.createstatement () ؛ String SQL = "SELECT * from user_b where uname = '"+uname+"'" ؛ // sql state rs = stmt.executequery (sql) ؛ isFalse = rs.next () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ } أخيرًا {connectionManager.closeresultset (rs) ؛ ConnectionManager.Closestatement (STMT) ؛ ConnectionManager.CloseConnection (اتصال) ؛ } إرجاع isFalse ؛ }}رمز اتصال JDBC:
استيراد java.sql.connection ؛ استيراد java.sql.drivermanager ؛ استيراد java.sql.resultset ؛ استيراد java.sql.sqlexception ؛ استيراد java.sql.statement ؛ url url static static النهائي الخاص = "JDBC: Oracle: Thin:@localhost: 1521: orcl" ؛ السلسلة الثابتة النهائية الخاصة dbname = "ibook" ؛ كلمة مرور السلسلة الثابتة النهائية = "QWER" ؛ الاتصال الثابت العام getConnection () {connection connection = null ؛ حاول {class.forname (driver_class) ؛ الاتصال = drivermanager.getConnection (url ، dbname ، كلمة المرور) ؛ } catch (classNotFoundException e) {E.PrintStackTrace () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ } اتصال الإرجاع ؛ } public static void closeresultset (resultset rs) {try {if (rs! = null) rs.close () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ }} public static void closeConnection (اتصال اتصال) {try {if (connection! = null &&! connection.isclosed ()) connection.close () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ }} closeStatement public static static (بيان stmt) {try {if (stmt! = null) stmt.close () ؛ } catch (sqlexception e) {E.PrintStackTrace () ؛ }}}حول فئة المستخدم:
مستخدم الفئة العامة {private string uname ؛ المستخدم العام () {super () ؛ } المستخدم العام (سلسلة uname) {super () ؛ this.uname = uname ؛ } السلسلة العامة getUname () {return uname ؛ } public void setUname (string uname) {this.uname = uname ؛ }حول servlet طبقة التحكم:
استيراد java.io.ioException ؛ استيراد java.io.printwriter ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ import javax.servlet.http.httpservled com.stx.service.ajaxsservice ؛/** * servlet فئة تنفيذ LoginServlet */فئة public loginservlet يمتد httpservlet {private static final long serialversionuid = 1l ؛ AjaxService AjaxService الخاص = AjaxService () جديد ؛ / ** * seee httpservlet#httpservlet () */ public loginservlet () {super () ؛ // TODO AUDALED CONTRUCTOR CONTRUCTOR}/ ** * SEE httpservlet#doget (طلب httpservletrequest ، استجابة httpservletresponse) */ void void المحمية (httpletRequest request ، httpservletsponse) throws servlexception ، iOextive {request.secharaceAr. uname uname = request.getParameter ("uname") ؛ // احصل على اسم مستخدم الإدخال boolean isUname = ajaxservice.searchuser (uname) ؛ // استدعاء طريقة الاستعلام في خدمة الاستجابة. out.print (isuname) ؛ out.flush () ؛ out.close () ؛ // إغلاق الموارد}/** * see @httpservlet#dopost (طلب httpservletrequest ، استجابة httpservletresponse) */void dopost المحمي (httpservletrequest reproft ، reproke stridge ، request ، drofse ، to-gering dough. }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.