原创 登錄和註銷、基於Session的購物車案例、驗證碼的使用、防止表單重複提交

一:登錄和註銷: 登錄login.jsp界面 <body> <% //銷燬session session.invalidate();

原创 實現後臺高級查詢(中級版)

初級版本的高級查詢實現是沒有問題的。然而,存在着一些你不盡人意的地方 問題1:拼接SQL依然麻煩,不爽! 問題2:使用了where1=1,降低性能 問題3:從責任分離上考慮,DAO是不應該做SQL拼接的,DAO是負責做CRUD的因

原创 分頁設計

1 實現控制檯版本分頁 一:通過發生兩條SQL: 1):查詢符合條件的當前頁面的結果集 SELECT * FROM table_name WHERE 條件 ... limit ?,?

原创 文件的上傳、文件的下載、I18N國際化

一:文件上傳 01.文件上傳準備 1):上傳控件所在的<form>表單的method,必須POST: 因爲GET方式的數據大小不能超過2kb,而POST沒有大小限制. 2):上傳控件得使用type爲file的類

原创 JavaBean規範、EL、JSTL、

一:JavaBean規範: 01.JavaBean的規範 什麼是JavaBean: 符合某些設計規範的類. 爲什麼需要使用JavaBean: 避免代碼重複問題,起到功能重複使用. JavaBean遵循

原创 MyBatis的概述及使用

1.框架的概述 什麼是框架,框架從何而來,爲什麼使用框架? 框架: 1.是一系列jar包,本質是對JDK功能的拓展 2.框架是一組程序的集合,包含了一系列的最佳實踐,作用是解決某個領域的問題。 不同

原创 實現後臺高級查詢(高級版)

1 沒有優化之前的代碼格式 商品類 //商品的高級查詢對象,封裝了商品高級查詢表單的數據。 public class ProductQueryObject extends BaseQueryObject{ private

原创 JDBC中事務、批量操作、大數據類型、獲取自動生成的主鍵、等用法

1 事務的用法 事務的ACID屬性: 通俗的說事務:指一組操作,要麼都成功執行,要麼都不執行-->原子性 在所有的操作沒有執行完畢之前,其他會話不能夠看到中間改變的過程-->隔離性 事務發生前,和發生後,數據的總額依然匹配--

原创 Cookie,Session解決用戶的會話跟蹤問題

一:Servlet細節 01.Servlet的映射細節 1):一個Servlet程序(WEB組件),可以配置多個<utl-patternt>,表示一個Servlet有多個資源名稱 2):一個Servlet程序,可以配置多個<s

原创 Servlet要點、請求與響應

一: Servlet要點 01.Servlet規範和搭建JavaWeb項目 什麼是Service: Service是JavaEE的組件,service是一個程序類,要求必須實現javax.service.Serv

原创 MyBatis的優化

1 抽取MyBatisUtil 其中的sessionFactory必須用同一個對象,不然會空指針異常! public enum MyBatisUtil { INSTANCE; private static Sql

原创 登錄功能的設計

1 使用PreparedStatement語句求(賬號)跟(密碼)的設計 @Test public void tast1() throws Exception { Connection conn

原创 html網頁設計

1 網頁介紹 靜態網頁與動態網頁: 靜態網頁:我們寫好的html內容在瀏覽器中顯示出來的效果始終都一樣,不管進行多少次訪問,如果想內容改變必須修改源代碼。 動態網頁:頁面的內容是由服務器端程序控制輸出,比如不同

原创 實現後臺高級查詢(基礎版)

1 高級查詢基礎版 操作步驟: 1.建立高級查詢表對象:XxxQuery/XxxQueryObject.(Xxx表示對象名稱); ProductQueryObject(商品的高級查詢對象),封

原创 第一個註冊頁面的設計

1 註冊頁面的html設計 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>register an account</title> </head> <body