程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 自己動手寫MiniBBS系列(基本篇)之用戶登錄

自己動手寫MiniBBS系列(基本篇)之用戶登錄

編輯:關於JSP

 

用戶登錄方法1——全jsp方式

邏輯流程圖:

 

登錄驗證.jsp代碼:

<body>

   <%

    String username = request.getParameter("username");

    String password = request.getParameter("password");

    

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    

    Connection ct=DriverManager.getConnection("JDBC:ODBC:mysql","root","asdasd");

    

    String ckUserSql="select password from user where username='"+username+"'";

    

    Statement st=ct.createStatement();

    

    ResultSet rs= st.executeQuery(ckUserSql);

    

    if(rs.next()){

        if(password.equals(rs.getString(1)))

            response.sendRedirect("success.jsp");

        else

            response.sendRedirect("fail.jsp"); //password error

    }else

        response.sendRedirect("fail.jsp"); //user do not exist

   

    %>

 </body>

 用戶登錄方法2——jsp->servlet->jsp

邏輯流程圖:

 

servlet代碼基本與jsp驗證代碼一致。

那麼,這兩種方式區別在那裡呢?

答:一個是jsp做邏輯判斷,一個是servlet做邏輯判斷!(廢話)

這不是廢話,我們應該考慮到這jsp和servlet的主要職責分別是什麼。jsp本來就是用來做呈現層的,是html中鑲嵌部分java代碼片段。我們回過頭看jsp的登錄驗證,整個body體中沒有一句話是用來給浏覽器顯示的,這就失去了jsp的優勢。並且jsp最終還需要web容器解析成servlet。

所以,我們應該讓每一個部分發揮他本體優勢,不用servlet做登錄界面,也別用jsp做邏輯驗證。(雖然他們都可以做到)

 

 用戶登錄方法3——jsp->servlet->java class->servlet->jsp

邏輯流程圖:

 

專門設立java類進行數據驗證,函數返回驗證結果。

當然,我們還應該需要一個專門的類負責鏈接數據庫,執行sql語句。(圖中並沒有表現出來,上面的代碼也不是這麼干的,但我們確實應該使用一個類來做這些)

至於為什麼要這麼做,大家各抒己見。我就贅述了。

本文出自 “摺扇一路走來” 博客

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved