web專案開發規範 以使用者資訊列表展示為例

2021-10-02 13:43:45 字數 4230 閱讀 5444

1. 需求:使用者資訊的增刪改查操作

2. 設計:

1. 技術選型:servlet+jsp+mysql+jdbctempleat+duird+beanutils+tomcat

2. 資料庫設計:

分析需要使用變數,為每個變數選取合適的資料型別。

新增 id 變數,設定為主觀鍵字,自增

分析是否需要為變數新增約束(unique 、not null)

* 為每個變數新增注釋,方便閱讀

create database day17; -- 建立資料庫

use day17; -- 使用資料庫

create table user( -- 建立表

id int primary key auto_increment, --編號

name varchar(20) not null, --姓名

gender varchar(5), --性別

age int, --年齡

address varchar(32), --住址

qq varchar(20), --qq

email varchar(50) --郵箱

);3. 開發:

1. 環境搭建

1. 建立資料庫環境

將上述**在資料庫中執行.

2. 建立專案,匯入需要的jar包

* 將平時需要使用的 jar 包和工具類 統一放入乙個資料夾,方便使用

* 包名:小寫

* 專案名:頭字母大寫,單詞首字母大寫

* 實體類名:xxbean,放到 util 包下

* 專案檔案的格式: cn.itcast 公司網域名稱

src下

cnitcast

dao 資料庫基本操作

impl 實現類

介面domain 實體類

service 專案完成的功能

impl 實現類

介面類util 工具類

web web伺服器

servlet

test 單元測試

web 下

web-inf

lib 存放專案所需要使用的 jar 包

3.將開發所需要的 js、css、html 檔案複製到web目錄下

4.將 properties、xml 配置檔案複製到 src 目錄下

5.配置 tomact,

* 更改埠:80 http 預設埠

* 設定虛擬目錄:專案名

2. 功能分析

三層架構

介面層 業務邏輯層 資料訪問層

操作介面 servlet service dao

呼叫service實現類獲取 使用dao的實現類完成復 完成基本的 crud 操作

需要展示的資料 雜的程式操作

存入request域,**到

jsp 頁面

介面 介面

實現類 實現類

3. 編碼:

* 為每乙個類新增描述,為每乙個方法新增描述

* 對所有 dao 中的方法應先測試,檢測 sql 語句是否正確

* 對函式返回的物件及字串先檢測是否為 null 或者 為空字串,進行程式的健壯性測試

* 在編寫**時,輸出比較關鍵性的引數,sql 語句,比如 網頁傳來的引數,傳到網頁的引數。方便檢查

* 比較長的引數,使用idea提示或者直接賦值,不要手打,容易出 bug。

* 對於比較複雜的功能,應先明確網頁傳到伺服器的引數與伺服器傳到網頁的引數,再根據情況進行分析

* html 隱藏域:可用來提交頁面未顯示的內容

* servlet 類中

1. 確認是否有返回的字符集,設定編碼

2. 是否存在不屬於物件的引數(驗證碼),進行相應的邏輯判斷

3. 將表單返回的引數封裝為 map 集合,轉化為物件,呼叫service方法

4. 跳轉頁面

1. 首先建立實體類 user,建立建構函式,geter seter方法,重寫 tostring

2. 將 html 頁面 轉換成 jsp,更改 html 頁面中跳轉的位址。編寫jstl**,

修改 jsp 頁面中的資料顯示資訊。使用foreach顯示所有使用者資訊。

jsp 頁面中使用$ 獲取虛擬目錄

列表查詢(userlistservlet):查詢資料庫內所有使用者資訊

1.建立 servlet 包 ,建立 userlistservlet類,呼叫 service 方法,得到使用者

資料的 lis 集合,存入 request 域,**到 jsp 頁面

3. 建立 service 包,建立 userservice 介面類、實現類,完成專案功能,

得到使用者資料

4. 建立 dao 包,建立 userdao 介面類、實現類,運算元據庫,完成 數

據庫 druc 的基本操作

登入:(loginservlet)

5. 建立 loginservlet 類,接收 login.jsp 傳入的引數: username password checkedcode

lgoin.jsp 中為保證驗證碼不重複,需要加時間戳 new date().gettime()

6. 首先對使用者輸入的驗證碼與系統自動生成的驗證碼進行比對,對提取後的驗證碼進行銷毀

7. 生成所傳遞表單的 map 集合,使用 beanutils 工具類轉換成 user 物件

8. 呼叫 userservice 中的 login 方法,查詢是否存在此使用者資訊

9. 呼叫 dao 中的 login 方法,執行 sql 語句,查詢使用者資訊

新增(adduserservlet)

10. 設定編碼

11. 提取表單資訊,封裝為 map 集合,轉換為 user 物件

12. 呼叫 adduserservice方法,將資料存入資料庫

13. 跳轉到 list.jsp 頁面

刪除(deluserservlet)

* 涉及刪除的操作應該給使用者明顯的提示進行確認

14. 獲取被刪除資訊的 id

15.呼叫 deluserservice 方法,刪除 對應 id 的使用者

跳轉到 list.jsp

修改(updateuserservlet、finduserbyidservlet)

將需要修改的 id 傳送給 finduserbyidservlet,查詢需要被修改的 id 的資訊,顯示到 update.jsp 頁面

將 update.jsp 頁面中的內容傳送給 updateuserservlet,使用隱藏域獲取 id ,修改型對應的使用者資訊。

刪除選中

1. 將第核取方塊與其他核取方塊框關聯起來

2. 給刪除按鈕新增單擊事件,並判斷是否有框被選中

3. 使用 form 表單提交所選 id ,使用 getparametervalues 獲取被選 id 的陣列

4. 呼叫 service類中 delselecteduser 方法

分頁顯示(listuserbypageservlet)

5. 網頁返回 listuserbypageservlet 當前頁數和顯示條數

6. 使用 foreach 以及 if 完成列表頁數的顯示

7. 在 listuserbypageservlet 新增條件控制加頁 在 userserviceimpl 控制減頁

8. 返回總記錄數、總頁碼、每頁資料的list集合、當前頁碼、以及顯示條數。使用 pagebean 物件封裝

9. 存到request域,**

複雜條件查詢( finduserbyconditionlistservlet )

1.網頁返回當前頁數 currentpage 顯示條數 rows 以及 3 個查詢條件 姓名 name 籍貫 address 郵箱 email

10. servlet 返回根據條件所得的分頁物件 pb

11. 呼叫service方法根據條件進行查詢

12. 查詢中需要計算兩個特別的引數,乙個 totocount 乙個查詢所得 list

13. 求取時需要去除多餘的 currentpage 和 rows,將 sql 語句設計好,

並將引數 新增到 list 集合中,同時需要檢測 條件map集合中是否有值

14. 將查詢條件和pb儲存並**

4. 測試

5. 部署運維

WEB介面開發規範

web 介面開發規範 1 每個功能頁面在系統中配置選單時統一使用 index.jsp 或index.html 例如客戶管理配置的 url為 2 每個頁面的 title 必須設定為和選單配置中相同的中文,例如在選單項中配置為 客戶管理 則此頁面的 title 也要設定為 客戶管理 3 對於jsp 頁面...

Web 開發規範 WSGI

wsgi 中介軟體 wsgi的實現和部署 參考資料 在 web services 處理方案中,有乙個方案是目前應用最廣泛的 def environ,start response 該函式需要提供兩個形參 pass 使用 web.py 框架時的樣式 urls hello class hello obje...

專案開發規範

bin 當前專案的啟動指令碼 conf 配置檔案 現在常用settings.py 1.用到的某乙個值,這個值在程式執行的過程會被修改,且要修改多處核心 2.這樣的值放在配置檔案下面,要修改時改配置檔案即可。3.方便運維人員的使用與維護。core 核心 源 db database資料庫 lib 庫檔案...