1. 首先在web.xml配置檔案中,讓所有的請求都會經過backservletfilter
/*
2. 假設訪問的路徑是:
3. 在backservletfilter 中通過request.getrequesturi()取出訪問的uri: /tmall/admin_category_list
4. 然後截掉/tmall,得到路徑/admin_category_list
5. 判斷其是否以/admin開頭
6. 如果是,那麼就取出兩個_之間的字串,category,並且拼接成/categoryservlet,通過服務端跳轉到/categoryservlet
7. 在跳轉之前,還取出了list字串,然後通過request.setattribute的方式,借助服務端跳轉,傳遞到categoryservlet裡去
根據web.xml中的配置
categoryservlet
/categoryservlet
服務端跳轉/categoryservlet就到了categoryservlet這個類裡
1. 首先categoryservlet繼承了basebackservlet,而basebackservlet又繼承了httpservlet
2. 服務端跳轉過來之後,會訪問categoryservlet的doget()或者dopost()方法
3. 在訪問doget()或者dopost()之前,會訪問service()方法
4. basebackservlet中重寫了service() 方法,所以流程就進入到了service()中
5. 在service()方法中有三塊內容
5.1 第一塊是獲取分頁資訊
5.2 第二塊是根據反射訪問對應的方法
5.3 第三塊是根據對應方法的返回值,進行服務端跳轉、客戶端跳轉、或者直接輸出字串。
6. 第一塊和第三塊放在後面講解,這裡著重講解第二塊是根據反射訪問對應的方法
6.1 取到從backservletfilter中request.setattribute()傳遞過來的值 list
6.2 根據這個值list,借助反射機制呼叫categoryservlet類中的list()方法
這樣就達到了categoryservlet.list()方法被呼叫的效果
乙個servlet類就能滿足crud一系列業務要求
通過這樣一種模式,乙個servlet類就能滿足crud一系列業務要求
如果訪問的路徑是admin_category_list,就會呼叫categoryservlet.list()方法
如果訪問的路徑是admin_category_add,就會呼叫categoryservlet.add()方法
如果訪問的路徑是admin_category_delete,就會呼叫categoryservlet.delete()方法
如果訪問的路徑是admin_category_edit,就會呼叫categoryservlet.edit()方法
如果訪問的路徑是admin_category_update,就會呼叫categoryservlet.update()方法
J2EE專案 仿天貓整站day01
1.技術介紹 本專案沒有使用ssh ssm框架,而是使用j2ee整套技術來作為解決方案,實現各種業務場景。不使用框架是為了借助這個專案夯實j2ee基礎,並且在專案中借助反射等技術,採用合適的設計模式,開發效率並不低於使用框架。2.典型場景 乙個完整的j2ee應用包含的各種典型商務應用場景的需求,展示...
J2EE專案架構最佳實踐
基於專案的最差實踐,可以總結出一套專案架構的最佳實踐原則以便今後的復用和改進。原則1.時間總是非常緊,需求總是在變化,技術問題總是層出不窮,千萬不要認為軟體工程的問題不會發生在規範的公司和專案。每次一定要根據自己所處的位置作出正確的評估,比如專案經理做評估要留出足夠的時間buffer,開發人員應當正...
J2EE專案架構最佳實踐
基於專案的最差實踐,可以總結出一套專案架構的最佳實踐原則以便今後的復用和改進。原則1.時間總是非常緊,需求總是在變化,技術問題總是層出不窮,千萬不要認為軟體工程的問題不會發生在規範的公司和專案。每次一定要根據自己所處的位置作出正確的評估,比如專案經理做評估要留出足夠的時間buffer,開發人員應當正...