membutuhkan
Verifikasi apakah kata sandi akun yang dimasukkan oleh pengguna ada di database melalui halaman refresh asinkron jax.
Tumpukan Teknologi
Jsp+servlet+oracle
Kode tertentu
Bagian JSP:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <! Doctype html public "-// w3c // dtd html 4.01 transisi // en" "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <title- title> judul di sini </title </head/head {function> fungsi {tits> function {titlex- 8 xmlhttp = new xmlHttpRequest (); // browser lain selain yaitu menggunakan jax} catch (tryms) {try {xmlhttp = new ActivexObject ("msxml.xmlhtp"); // IE Browser Adaptation} catch (OtherMS) {tryms) {trym "); ActivexObject ("Microsoft.xmlHttp"); // IE Browser Adaptation} catch (gagal) {xmlhttp = null; }} return xmlhttp; } // Kirimkan permintaan var xmlhttp; function checkUserExists () {var u = document.geteLementById ("uname"); var username = u.value; if (username == "") {alert ("Silakan masukkan nama pengguna"); U.Focus (); mengembalikan false; } // akses string var url = "loginServlet"; // Buat inti xmlhttprequest component xmlhttp = createxmlHttpRequest (); // atur fungsi panggilan balik xmlhttp.onreadystatechange = proessRequest; // inisialisasi inti xmlhttp.open ("post", url, true); // Atur header permintaan xmlhttp.setRequestheader ("tipe konten", "Aplikasi/X-WWW-Form-Urlencoded;"); // Kirim permintaan xmlhttp.send ("uname ="+nama pengguna); } // fungsi callback fungsi BurdenRequest () {if (xmlhttp.status == 200 && xmlhttp.readystate == 4) {var b = xmlhttp.responsexext; // dapatkan hasil output dari server if (b == "true") {document.geText; Color = 'Red'> Nama Pengguna sudah ada! </font> "; } else {document.geteLementById ("waspada"). innerHtml = "<font color = 'blue'> nama pengguna dapat digunakan! </font>"; }}}} </script> <body> Harap masukkan nama pengguna: <input id = "uname" name = "uname" type = "text" ontBlur = "checkUserexists ()"/> <div id = "waspada" style = "display: inline"> </div> </body> </html> Tidak ada lapisan DAO di sini, cukup gunakan layer servlet dan layanan untuk verifikasi.
Berikut ini kode untuk permintaan JDBC di bawah layanan:
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 query whether the Nama pengguna ada boolean isFalse = false; Koneksi koneksi = null; Pernyataan stmt = null; Hasil rs = null; Connection = ConnectionManager.getConnection (); coba {stmt = connection.createStatement (); String sql = "Pilih * dari user_b di mana uname = '"+uname+"'"; // pernyataan sql rs = stmt.executeQuery (sql); isFalse = rs.next (); } catch (sqlexception e) {e.printstacktrace (); } akhirnya {connectionManager.closeresultSet (rs); ConnectionManager.closestatement (STMT); ConnectionManager.closeconnection (koneksi); } return isFalse; }}Kode Koneksi JDBC:
Impor java.sql.connection; impor java.sql.driverManager; impor java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; connection connectionagager {private static string driver_class = "oracle. Private Final Static String url = "jdbc: oracle: tipis: @localhost: 1521: orcl"; Private Final Static String dbName = "iBook"; kata sandi string statis final pribadi = "qwer"; public static connection getConnection () {connection connection = null; coba {class.forname (driver_class); koneksi = driverManager.getConnection (url, dbname, kata sandi); } catch (ClassNotFoundException e) {E.PrintStackTrace (); } catch (sqlexception e) {e.printstacktrace (); } return connection; } public static void CloseResultSet (hasil RS) {coba {if (rs! = null) rs.close (); } catch (sqlexception e) {e.printstacktrace (); }} public static void closeConnection (koneksi koneksi) {coba {if (koneksi! = null &&! connection.isclosed ()) connection.close (); } catch (sqlexception e) {e.printstacktrace (); }} public static void closeStatement (pernyataan stmt) {coba {if (stmt! = null) stmt.close (); } catch (sqlexception e) {e.printstacktrace (); }}}Tentang Kelas Pengguna:
pengguna kelas publik {private string uname; pengguna publik () {super (); } pengguna publik (string uname) {super (); this.uname = uname; } public string getUname () {return uname; } public void setuname (String uname) {this.uname = uname; }Tentang Servlet Lapisan Kontrol:
Impor java.io.ioException; impor java.io.printwriter; impor javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.htp.httpservletRequest; impor javax.servlet com.stx.service.AJAXService;/** * Servlet Class Implementasi LogInservlet */Kelas Publik LogInservlet memperluas httpservlet {private static final long serialVersionuid = 1L; Private Ajaxservice Ajaxservice = AjaxService baru (); / ** * @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"); // Dapatkan input nama pengguna boolean isuname = ajaxservice.searchuser (uname); // Metode permintaan permintaan dalam respons layanan. out.print (iSuname); out.flush (); out.close (); // tutup sumber daya}/** * @see httpservlet#dopost (permintaan httpservletrequest, httpservletResponse response)/respons void doPost (httpserponsception {httpo-louglException, httpo-{httpoo-to-louglException, httpoo-{httpoo-{httpoo-to/httpo-{httpoo-{httpo-to-//loughpoed {httpoo-{httpoo-{httpoo-feidpo {httpoo-{httpserVleSponse respon tanggapan); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.