從零開始寫一個簡單的註冊登入系統(Servlet+Tomcat+MySQL+IDEA)
進入大學,想進入和技術相關的學生組織就一定要接受各種面試任務,不過ddl一般相對寬鬆。
這篇部落格記錄為進入山軟智庫完成的任務:簡單的註冊的登入系統。
看到題目,上面寫著什麼servlet、tomcat之類,每個字母我都認識,但連起來就讓我有看沒有懂。於是開始了各種百度的漫漫長路。
好在這個小任務比較容易找,在此提一下索引,大部分內容可以直接搜尋到。
第一步:搭建開發環境
編寫一個web專案需要的開發環境不止一個,而網上通常只出現了單個環境的搭建。經過這個專案的編寫,我總結環境搭建包括但不限於以下幾步:
JDK開發環境配置
這一步我似乎以前就做了,應該比較簡單。
IDE選擇與下載
大一的java課程一般要求使用IDEA社群版就足夠了,這也是我一開始僅有的IDE。然而當我照著網上教程準備使用Javaweb預設時怎麼也找不到。最後發現需要使用專業版,切記切記。
網上也有一些用Eclipse編寫的,或許也可以選擇,不過我認為對於這種微型專案不需要糾結。
Tomcat伺服器下載與部署
這裡最好使用較舊版本的tomcat,因為新版往往是測試版,會出現各種意想不到的錯誤網上還搜不到(深受其害)。我一開始追求全新版本下載tomcat10,發現其中的包名已經更改,不能被匯入為以前版本tomcat寫的程式碼中,帶來不必要的麻煩。
配置完環境變數可以試著在IDEA裡部署。
資料庫選擇與配置
這裡一般使用MySQL,或者使用Oracle database之類。建議安裝時選擇安裝包版,比較省時省力,同樣需要配置環境變數。
然後與IDEA連線即可,注意在IDEA中設定相關驅動。
第二步:學習部分知識
與第一步似乎沒什麼順序關係。
雖然時間比較寬裕,但相關知識不可能在ddl之前(小於一週)全部學完,我於是選擇性學習了以下內容:
Servlet相關入門知識
主要了解servlet技術是如何應用(或者大體原理,與伺服器等的關係),還有與前端頁面的互動方式。
SQL相關
學習最簡單增刪查改語法即可,最好還要在IDE裡找到資料視覺化的地方。
html頁面設計
雖然這是個後端部門,但頁面要自己寫,得寫出個差不多的框架來。
學習到表單提交、與servlet之間資料傳輸方式即可。
java語言
由於剛入學,以前搞競賽也使用的c++/pascal,語法還是有一些區別。
而且寫專案需要頻繁使用的丟擲錯誤等語法,也需要提前學習。(可以參考網上現成的專案)
還有物件導向的相關知識,如何呼叫自己寫的類等。
第三步:建立專案、書寫程式碼
使用Javaweb框架
匯入tomcat、sql中的驅動包到專案中
仿照網路上的專案建立目錄
這是我參考網路構建的專案結構:
兩資料夾為並列。
其中,如果沒有直接規範建立servlet檔案,需要在web.xml中配置servlet,或者在servlet檔案中用@符號註明。
書寫程式碼
這裡不敢妄加書寫,網路上有很多類似專案,說幾個點:
- 注意判斷使用者名稱、密碼為空(前端頁面也可以解決,後端也可以加判斷);
- 英文釋義:①DAO(Data Access Object) 資料訪問物件是一個物件導向的資料庫介面、②JDBC(Java Database Connectivity)Java資料庫連線、③Bean是一種可重用元件,具有規範類的特點、④Util是utiliy的縮寫,多功能包;
- 注意判重、正規表示式匹配使用者名稱密碼格式、要有確認密碼(第二次輸入)等常見功能。
不過留作紀念我把拙作傳到了github上,歡迎各位參考(寫的不合適敬請斧正):
簡單的註冊登入系統
我的程式碼中並沒有使用a.properties配置檔案,這不規範(然而我寫的不規範的地方有很多)。
當然,書寫程式碼包含了debug等步驟,不一一列舉。
第四步:執行程式碼
如果前置工作做得足夠好,至此應該就可以成功執行了,可以根據實際執行效果進行優化。
下面是本人程式碼的執行效果:
常見錯誤:
- 注意Tomcat配置裡主頁的設定,以及配置檔案中域名等設定,否則會出現404錯誤;
- 注意匯入資料庫驅動,否則可能出現500錯誤;
- jar包匯入錯誤、確實等可能導致500錯誤;
- JDK版本問題也可能導致500錯誤。
更多問題使用百度、谷歌、stackoverflow等網站通常可以找到解決辦法。
祝看到這篇部落格的各位學業有成!
相關文章
- 從零開始實現簡單 RPC 框架 4:註冊中心RPC框架
- 從零開始學前端動畫 —— 簡單的特效登入前端動畫特效
- NodeJs 建立一個簡單的登陸註冊NodeJS
- 從零開始寫一個ExporterExport
- 從零開始搭建一個安全的登入表單網站:步驟詳解與最佳實踐,表單系統搭建網站
- 從零開始仿寫一個抖音App——開始APP
- 從零開始寫一個node爬蟲(一)爬蟲
- 直播app系統原始碼,簡單的登入介面(登入、註冊、記住密碼等按鍵)APP原始碼密碼
- 從零開始學Python(九):搭建一個基於SMTP的簡單郵件預警系統Python
- 從零開始編寫一個babel外掛Babel
- 從零開始寫一個Javascript解析器JavaScript
- 從0開始寫一個直播間的禮物系統
- node+express+mongDB實現簡單登入註冊Express
- JavaWeb——從零開始構建一個客戶管理系統(一)JavaWeb
- Cursor 寫一個 Flutter Unsplash 桌布工具 | 從零開始Flutter
- 從零開始寫一個微前端框架-沙箱篇前端框架
- 從零開始實現一個簡易的Java MVC框架JavaMVC框架
- day13 - 寫一個登陸註冊的頁面
- 從零開始:用REACT寫一個格鬥遊戲(一)React遊戲
- 從零開始手寫一個微前端框架-渲染篇前端框架
- 從零開始的簡單光線追蹤示例
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- HTML基礎實現簡單的註冊和登入頁面HTML
- 從零開始做一個SLG遊戲(二):用mesh實現簡單的地形遊戲
- 從零開始開發一個 WebpackWeb
- [AST實戰]從零開始寫一個wepy轉VUE的工具ASTVue
- 個人作業登入+註冊
- go語言如何入門?從一個簡單例子開始學起Go單例
- 簡單登入註冊實現(Java物件導向複習)Java物件
- webpack從零開始搭建多頁面(一):webpack起步到執行一個簡單的demoWeb
- 從零開始打造一個iOS圖片載入框架(一)iOS框架
- 從零開始:用REACT寫一個格鬥遊戲(二)React遊戲
- 從零開始,如何用puppeteer寫一個爬蟲指令碼爬蟲指令碼
- 從零開始編寫一個 Python 非同步 ASGI WEB 框架Python非同步Web框架
- React & Redux 實現註冊登入認證系統(31 個視訊)ReactRedux
- 從零開始實現一個RPC框架(零)RPC框架
- 挑戰30分鐘寫個使用者登入註冊系統(前端)- 我的全棧獨立開發日記前端全棧