航空订票系统(javaweb项目)
航空訂票系統課程設計
一、項目選題
???航空訂票系統
二、項目背景
當今社會知識經濟高速發展,信息化在各個行業內正在被越來越廣泛的應用。人們生活水平的不斷提高,使得出行的交通工具也跟著發展起來。如今乘飛機出行的人越來越多,這方面的市場越來越大,基于此制定了航空訂票系統,方便游客,滿足市場要求。
三、需求分析
航空訂票系統的需求如下
航空訂票系統中有兩種角色信息,分別是普通用戶和管理員。其中普通客戶可以注冊并登錄系統,還可以對自己的身份信息、密碼信息進行修改。普通用戶還可以查詢所有的航班信息,并訂購自己需要的航班。在訂購航班時,還可以設置機票的數量。訂購完成后,訂購的航班信息將添加到購物車中。用戶可以在航班日期前一天進行退票。
管理員主要負責制定航班信息,其中制定航班信息包括如下信息,航班的編號、出發地點、目的地、航班日期、票價以及票數信息。
四、功能模塊分析
???1、修改個人信息
1)功能實現原理:
先通過用戶在登錄是存入的username進行對個人信息的查詢,然后在userInfo.jsp頁面上顯示。在userInfo.jsp頁面上利用form表單中submit按鈕提交的原理進行修改以及數據庫中的數據修改。在userInfo.jsp頁面上會獲取到用戶的基本個人信息,如:用戶名、真實姓名、性別、電話號碼以及電子郵件;然后在當前頁面上進行修改信息,點擊“修改”按鈕,就會把修改后的全部個人信息提交到服務端,然后利用后端的“UpdateUserServlet”進行獲取提交的個人信息,其中利用request.getParamete()進行獲取信息;在然后把所獲取到的個人信息傳入一個User類中,調用修改用戶信息的數據庫操作UpdateUser()函數,把user數據作為參數進行數據庫中修改。
2)代碼
對個人信息的查詢以及存入session(UserInfoServlet.java)
通過Cookie存的username來查詢用戶信息,然后用session將查詢到的用戶信息存入到服務端(“user”)
??userInfo.jsp代碼
通過服務端存的session,在jsp中利用EL表達式($)取值。然后可以在該界面進行修改個人信息,通過form表單中的submit進行提交所修改的信息。
UpdateUserServlet.java
點擊修改按鈕,會執行UpdateUserServlet.java,然后連接數據庫,獲取提交的信息,將信息存入user類中,然后將user存入session中。把修改后的user傳回 userInfo.jsp中,會顯示修改過后的信息。
根據用戶名查詢個人信息數據庫代碼
修改個人信息的數據庫代碼
3)效果
2、修改密碼
1)功能實現原理
利用ajax實現提交修改密碼的數據到服務端,然后在服務端進行數據庫的修改以及判斷是否修改成功。首先在updatePassword.jsp頁面上把原密碼和新密碼提交到服務端,然后在UpdatePasdServlet中獲取數據,進行判斷原密碼輸入是否正確以及修改密碼。
2)代碼
Ajax修改密碼
UpdatePasdServlet.java
先從服務端獲取頁面輸入的原密碼和新密碼,通過cookie存的username查詢用戶信息,找到用戶的密碼,然后與用戶輸入的原密碼進行比較是否正確。如果正確,則把修改密碼,否則返回修改密碼的界面(UpdatePassword.jsp)
數據庫中修改密碼
3)效果
3、預訂航票以及購買
1)功能實現原理
首先在查詢出所有的航班信息,而且是通過日期來進行篩選的,然后通過航班的id進行查詢,跳轉到確認訂票信息的頁面(planshopping.jsp),選擇購買的票數,然后點擊“購買”按鈕,進行數據庫的插入。其中用到了Ajax、session的技術進行提交數據和存數據,利用EL表達式進行循環出查詢所有的航班表。當該用戶沒有購買該航班時,會提示“訂票成功”;否則會提示“你已經訂過了該航班!!!”。當訂票成功時,航班的信息會插入數據庫中,以及航班表(plane)的對于的航班中的票數也會相應減少。
2)代碼
預定航班(查看在當天的之后航班)
連接數據庫,調用PlaneDao中的queryPlane()函數進行查詢所有的航班信息,以及把所查詢的航班存入session中,value為“sched”,key為“array”。
planeList.jsp
利用EL表達式進行獲取session中列表數值,用進行循環輸出航班信息,然后利用超鏈接進行跳轉確定訂單信息的頁面,以及選擇購買的票數。
QueryPlaneServlet.java
通過超鏈接傳入航班的id,然后通過航班的id查詢該航班的信息,以及把該航班信息存入session,value為“plane”,key為“p”
確認訂票的信息
通過QueryPlaneServlet中存的session,利用EL表達式進行顯示數據。然后利用button點擊按鈕事件進行處理。
Ajax進行提交數據信息
利用ajax把選擇的票數傳入服務端。
購買按鈕執行的事件(PurchaseServlet.java)
從服務端獲取用戶所購買的票數,返回cookie存的用戶id,然后通過session中的“plane”進行獲取用戶所購買的航班信息,然后在進行插入數據庫car表。如果插入成功,則會進行相應的航班表(plane)中進行票數的修改,用原有的票數減去用戶選擇的票數。
3)效果
五、課程總結
???通過學習本課程,學到了JavaScript的知識點、JSP的基本語法、JDBC連接數據庫、JSP內置對象以及servlet和jiavabean。在學習過程中,利用JDBC進行連接數據庫以及進行數據庫的基本操作如:增刪查改;利用JSP內置對象中的request和response對象進行服務端的請求和響應,以及利用session進行存值;利用servlet和Javabean進行一個對象的存值和取值;利用ajax進行表單驗證以及EL表達式顯示數據等等技術。在學習中也遇到問題,如:點擊按鈕報404錯誤或者報500錯誤。出現這些問題一般都是servlet的路徑配置問題或者servlet里面的代碼報錯。經過學習Javaweb這門課堂,以及在做課設的過程中,清楚的知道Javaweb的相關知識,以及在操作構成中,一定要清晰的知道所要實現的功能邏輯,以及知道該如何進行去操作。如jdbc連接數據庫、需要的數據庫操作、創建所需要的類,以及servlet請求等。
????對于Javaweb的知識還是不夠深入了解,在往后的時間里,還是需要更深入一層的去了解Java web 學習更多的技術。
總結
以上是生活随笔為你收集整理的航空订票系统(javaweb项目)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何解决机器学习中的数据不平衡问题?
- 下一篇: java信息管理系统总结_java实现科