通過JSP網頁連接MySQL數據庫並進行輸入校驗

JSP(全稱JavaServer Pages)是由Sun Microsystems公司主導創建的一種動態網頁技術標準。JSP部署於網絡服務器上,可以響應客戶端發送的請求,並根據請求內容動態地生成HTML、XML或其他格式文檔的Web網頁,然後返回給請求者。JSP技術以Java語言作爲腳本語言,爲用戶的HTTP請求提供服務,並能與服務器上的其它Java程序共同處理複雜的業務需求。JSP將Java代碼和特定變動內容嵌入到靜態的頁面中,實現以靜態頁面爲模板,動態生成其中的部分內容。其根本是一個簡化的Servlet設計。它實現了Html語法中的java擴展(以 <%, %>形式)。
(1)瀏覽器通過提交輸入的數據給JSP,JSP負責接收提交來的數據並進行校驗,看這些數據是否存在在數據庫當中。JSP是Java服務端的頁面,所以它是動態的,它是需要經過JDK編譯後把內容發給客戶端去顯示,Java文件編譯後會產生一個class文件,最終執行的就是這個class文件。
(2)前面我們已經通過tomcat服務器在瀏覽器中運行過這個登錄界面,登錄的用戶名和密碼只要符合填寫規則,都會通過檢驗,這個校驗指的是填寫符合規則校驗,現在我們要做的就是如果我們的用戶有註冊過,後臺數據庫會存有註冊過的用戶名和密碼,現在我們要校驗的是填寫的用戶名和密碼是否在我們的數據庫當中,言下之意就是看是否有註冊過,如果有,就會登錄成功,說明註冊過,否則,就會登錄失敗,也就是未註冊。
1.整個過程需要的所有文件(這裏要說明一下的是jar驅動包,放在WEB-INF文件夾下的一個子文件中,關於jar驅動包的下載我有在之前的博客中講過)
文件
2.這是JSP文件代碼(就是我這裏面的input.jsp)

<%@ page language="java" contentType="text/html;charset=GBK"  pageEncoding="GBK" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title> www.mldnjava.cn,MLDN高端Java培訓 </title>
</head>
<body>
     <%
          request.setCharacterEncoding("GBK");
          String str = request.getParameter("username"); // 接收表單輸入的內容
          String str1 = request.getParameter("password"); // 接收表單輸入的內容
       try {
           Class.forName("com.mysql.cj.jdbc.Driver");
           Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/hsh?useSSL=false&serverTimezone=UTC", "root", "199735");
           PreparedStatement ps = conn.prepareStatement("select * from hsh where username='"+str+"' and password='"+str1+"'");
           ResultSet rs = ps.executeQuery();
           if(rs.next()){
                out.println("用戶名:"+rs.getString(2)+"登錄成功!!");
           }else{
                out.println("用戶名登錄失敗!!");
           }
           rs.close(); 
           ps.close(); 
           conn.close();
        } catch (Exception e) {
           e.printStackTrace();
        }
      %>
</body>
</html>

jsp代碼流程詳解:
代碼詳解

3.這是一個網頁登錄HTML文件(就是我這裏面的index.html)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>歡迎登錄後臺管理系統</title>
<link href="css/login.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.9.1.js"> </script>
<script language="JavaScript">
$(this).ready(function(){
$(".loginbtn").click(function(){
 var ur=$("#username").val();
  if(ur=="")
   {
     $("#msg").html("用戶名不能爲空!");
       return;
        }
      var pwd = $("#password").val();
      if(pwd=="")
      {
         $("#msg").html("密碼不能爲空!");
          return;
      }
       var pattern_name=/^[a-zA-Z\d]\w{5,9}$/;
        //以字母或數字開頭,包括字母數字下劃線,長度爲6-10位
        var pattern_pwd=/^[a-zA-Z\d_]{6,10}$/;
          //只能包括字母數字或下劃線,長度爲6-10位
        if(!pattern_name.test(ur)){
             $("#msg").html("*必須以字母或數字開頭,包括字母、數字或下劃線,長度爲6~10位!");
         return;
          }
         else{
             $("#msg").html("*用戶名校驗通過!");
         }
         if(!pattern_pwd.test(pwd)){
         $("#msg").html("*只能包括字母、數字或下劃線,長度6~10位!");
         return;
         }
         else{
         $("#msg").html("*密碼校驗通過!");
       }
        //alert("校驗通過,可以提交了!");
        $("#form1").submit();
      });
   });
</script>
</head>
<body style="background-color:#1c77ac; background-image:url(images/light.png); background-repeat:no-repeat; background-position:center top;">
   <div class="logintop"> <span>您好,歡迎登錄後臺管理界面平臺</span>
   <ul>
   <li><a href="#">回首頁</a></li>
   <li><a href="#">幫助</a></li>
   <li><a href="#">關於</a></li>
   </ul>
   </div>
   <div class="loginbody"> <span class="systemlogo"></span>
   <form id="form1" action="input.jsp" method="post">
   <div class="loginbox">
    <ul>
      <li>
      <input id="username" name="username" type="text" class="loginuser" value="" />
      </li>
      <li>
      <input id="password" name="password" type="password" class="loginpwd" value="" />
      </li>
      <li>
      <input  type="button" class="loginbtn" value="登錄"   />
      <label>
      <input name="" type="checkbox" value="" checked="checked" />
      記住密碼</label>
      <label><a href="#" >忘記密碼?</a></label>
      </li>
      </ul>
      </div>
      <div id="msg" align="center" style="color:red;font-size: 20px"></div>
      </form>
      </div>
      <div class="loginbm">Copyright  2015-2020  Q- Walking Fashion E&S 漫步時尚廣場(QST教育)版權所有</div>
</body>
</html>

4.這是我在Navicat for mysql中隨便寫的一組用戶名和密碼數據
數據
5.啓動Tomcat
qid
6.瀏覽器鍵入:http://local:8080/test1,由於默認訪問的是index.html,所以後面就可以不跟index.html
在鍵入
7.進行校驗輸出,由於我輸入的用戶名:aaa111,密碼:aaa111在我的數據庫中有,所以跳轉顯示用戶名aaa111登錄成功!!如果我輸入的用戶名還是aaa111,但是密碼輸入:nkj159,就會顯示用戶名登錄失敗!!
在
用戶登錄失敗
8.這樣我們就完成了通過JSP網頁連接MySQL數據庫並進行輸入校驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章