javaweb簡單的圖書管理系統_第1頁
javaweb簡單的圖書管理系統_第2頁
javaweb簡單的圖書管理系統_第3頁
javaweb簡單的圖書管理系統_第4頁
javaweb簡單的圖書管理系統_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗報告實驗課程:Web應用開發學生姓名:學號:專業班級:2018年6月18日電南昌大學實驗報告學生姓名:學號:專業班級:實驗類型:口驗證綜合口設計創新實驗日期:實驗成績:一、實驗項目名稱Web應用開發綜合訓練二、實驗目的和要求使用 Java+JSP+Servle肢術,選用 EL、JSTL、Struts、Hibernate myBatis、jQuery 等技術,開發一個基本 Web的應用程序,以達到掌握 Web應用開發的基本原理、具備 使用Java+JSP+Servle肢術結合流行11架技術開發Web應用程序的能力,從而提升學 生的Web編程能力。要求學生自選題目,開發一個模擬的 Web應用程

2、序。可以一人一題,也可以多人 一題。但是每人必須單獨完成動態 Web頁面10頁以上。要求學生根據需求描述獨自完成需求分析, 軟件設計、程序模塊設計以及程序的編 寫、調試和測試。設計和程序完成后,要求根據指定的格式要求,獨自完成設計報告的撰寫。三、實驗基本情況本實訓要求根據下述需求陳述寫出需求分析文本并進行軟件開發,并列出源代碼和運行結果。四、需求分析項目介紹這是一個簡單的圖書管理系統,由一個管理員來實現對用戶的刪除,圖書的增加,修改 和圖書的刪除功能,用戶注冊登錄后可以實現對圖書的借閱和歸還。 由于時間關系在設 計項目時有很多不好的地方,未來得及修改,在管理員登錄界面采用了圖形驗證碼, 由 于

3、是同樣的技術,在用戶登錄界面就沒有采用圖形驗證技術。功能需求1 .用戶注冊2 .圖書添加3 .圖書修改4 .用戶管理5 .圖書借閱6 .歸還圖書五、軟件設計ER 圖 程序流程數據庫設計模塊設計及運行結果項目整體采用 MVC模式,整體上運用jsp+javabean+servlet+jdbc+daq每個jsp頁面采 用jQuery技術作為背景,實現簡單的動態背景,部分頁面運用EL、JSTL、js中的點擊事件、Bootsrap圖形驗證碼、分頁技術以及郵箱頁面。六、源代碼1 .用戶類User.Javapackage vo;publicclass Userprivate String name, pwd

4、;public StringgetName() return name;publicvoid setName(Stringname) this . name=name;public StringgetPwd() return pwd;publicvoid setPwd(Stringpwd) this . pwd=pwd; 2 .圖書類bookinfo.javapackage vo;publicclass bookinfo private String bno , bname, author , price , other ;public StringgetBno() return bno ;p

5、ublicvoid setBno(Stringbno) this . bno =bno;public StringgetBname()return bname;publicvoid setBname(Stringbname) this . bname=bname;public StringgetAuthor() return author ;publicvoid setAuthor(Stringauthor) this . author =author;public StringgetPrice() return price ;publicvoid setPrice(Stringprice)

6、this . price =price;public StringgetOther() return other ;publicvoid setOther(Stringother) this . other =other;3 .借書信息類package vo;publicclass lendbook , otherprivate String username , bno , bname, author , price public StringgetUsername()return username ;publicvoid setUsername(Stringuse

7、rname) this . username =username;public StringgetBno() return bno ;publicvoid setBno(Stringbno) this . bno =bno;public StringgetBname() return bname;publicvoid setBname(Stringbname) this . bname=bname;public StringgetAuthor() return author ;publicvoid setAuthor(Stringauthor) this . author =author;pu

8、blic StringgetPrice() return price ;publicvoid setPrice(Stringprice) this . price =price;public StringgetOther() return other ;publicvoid setOther(Stringother) this . other =other;4 .用戶功能UserDao.javapackagedao;importjava.sql.*;importvo.bookinfo;importvo.User;importvo.lendbook;importdbc.JdbcUtil;publ

9、icclassUserDaopublicvoidadd(Useruser)throwsException/ 添加用戶Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql="insertintouservalues(,)"ps=conn.prepareStatement(sql);ps.setString(1,user.getName();ps.setString(2,user.getPwd();ps.executeUpdate();finallyJdbc

10、Util.free(null,ps,conn);添加圖書publicvoidadd_book(bookinfobook)throwsException/Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql="insertintobook_infovalues(,)"ps=conn.prepareStatement(sql);ps.setString(1,book.getBno();ps.setString(2,book.getBname();ps.set

11、String(3,book.getAuthor();ps.setString(4,book.getPrice();ps.setString(5,book.getOther();ps.executeUpdate();finallyJdbcUtil.free(null,ps,conn);借出圖書publicvoidlend_book(lendbookbook)throwsException/Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql="insertintol

12、endbookvalues(,)"ps=conn.prepareStatement(sql);ps.setString(1,book.getUsername();ps.setInt(2,Integer.parseInt(book.getBno();ps.setString(3,book.getBname();ps.setString(4,book.getAuthor();ps.setString(5,book.getPrice();ps.setString(6,book.getOther();ps.executeUpdate();finallyJdbcUtil.free(null,p

13、s,conn);publicList<User>QueryAll()throwsException/ 列出全部用戶Connectionconn=null;PreparedStatementps=null;ResultSetrs=null;List<User>userList=newArrayList<User>(); try conn=JdbcUtil.getConnection();Stringsql="select*fromuser"ps=conn.prepareStatement(sql);rs=ps.executeQuery();

14、while(rs.next()Useruser=newUser();user.setName(rs.getString(1);user.setPwd(rs.getString(2);userList.add(user);finallyJdbcUtil.free(rs,ps,conn);returnuserList;publicvoiddelete(Stringbookno)throwsException/ 刪除圖書Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql=&qu

15、ot;deletefrombook_infowherebno="ps=conn.prepareStatement(sql);ps.setString(1,bookno);ps.executeUpdate();finallyJdbcUtil.free(null,ps,conn);publicvoidreturnbook(Stringbno,Stringusername)throwsException/ 歸還圖書Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql=&

16、quot;deletefromlendbookwherebno=andusername="ps=conn.prepareStatement(sql);ps.setString(1,bno);ps.setString(2,username);ps.executeUpdate();finallyJdbcUtil.free(null,ps,conn);publicvoiddelete_user(Stringusername)throwsException/ 刪除用戶Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.g

17、etConnection();Stringsql="deletefromuserwherename="ps=conn.prepareStatement(sql);ps.setString(1,username);ps.executeUpdate();finallyJdbcUtil.free(null,ps,conn);publicintgetPageCount()throwsException/ 分頁Connectionconn=null;PreparedStatementps=null;ResultSetrs=null;intrecordCount=0,t1=0,t2=0

18、;tryconn=JdbcUtil.getConnection();Stringsql="selectcount(*)frombook_info"ps=conn.prepareStatement(sql);rs=ps.executeQuery();rs.next();recordCount=rs.getInt(1);t1=recordCount%5;t2=recordCount/5;finallyJdbcUtil.free(null,ps,conn);returnt1=0t2:t2+1;publicList<bookinfo>QueryAll_book(intp

19、ageNo)throwsException/ 列出全部圖書Connectionconn=null;PreparedStatementps=null;ResultSetrs=null;intpageSize=5;intstartRecno=(pageNo-1)*pageSize;List<bookinfo>bookList=newArrayList<bookinfo>();tryconn=JdbcUtil.getConnection();Stringsql="select*frombook_infoorderbybnolimit,"ps=conn.pr

20、epareStatement(sql);ps.setInt(1,startRecno);ps.setInt(2,pageSize);rs=ps.executeQuery();while(rs.next()bookinfobook=newbookinfo();book.setBno(rs.getString(1);book.setBname(rs.getString(2);book.setAuthor(rs.getString(3);book.setPrice(rs.getString(4);book.setOther(rs.getString(5);bookList.add(book);fin

21、allyJdbcUtil.free(rs,ps,conn);returnbookList;publicList<lendbook>QueryAll_lendbook(Stringusername)throwsException/ 列出已借圖書Connectionconn=null;PreparedStatementps=null;ResultSetrs=null;List<lendbook>bookList=newArrayList<lendbook>();tryconn=JdbcUtil.getConnection();Stringsql="se

22、lect*fromlendbookwhereusername="ps=conn.prepareStatement(sql);ps.setString(1,username);rs=ps.executeQuery();while(rs.next()lendbookbook=newlendbook();book.setUsername(rs.getString(1);book.setBno(rs.getString(2);book.setBname(rs.getString(3);book.setAuthor(rs.getString(4);book.setPrice(rs.getStr

23、ing(5);book.setOther(rs.getString(6);bookList.add(book);finallyJdbcUtil.free(rs,ps,conn);returnbookList;publicvoidmodify_book(bookinfobook)throwsException/ 修改圖書Connectionconn=null;PreparedStatementps=null;tryconn=JdbcUtil.getConnection();Stringsql="updatebook_infosetbname=,author=,price=,other=

24、wherebno="ps=conn.prepareStatement(sql);ps.setString(1,book.getBname();ps.setString(2,book.getAuthor();ps.setString(3,book.getPrice();ps.setString(4,book.getOther();ps.setString(5,book.getBno();ps.executeUpdate();finallyJdbcUtil.free(null,ps,conn);5 .獲取表格值代碼:function getTableContent(node)varvar

25、 name=tr1.cells0.innerText;"<%=path %>delete_username="+name;alert(name);)7 .背景jQuery代碼由于代碼過長,不展示;七、運行結果1 .管理員登錄頁面:管理員登錄界面采用簡單的CSS、 jQuery 、以及圖形驗證碼,當圖形驗證碼輸入不正確以及賬號密碼輸入不正確會出現相相應提示, 同時點擊相信的輸入框, 提示輸入對應類型的背景字體會消失, 當鼠標點擊其他地方時會相應出現, 采用的是placeholder屬性,我們平時單純的html的輸入框以及提交的按鈕,讓人感覺不是很 舒適,采用簡單的

26、CSS將他們的邊框去除,然后加上相應的邊框。2 .登錄主界面:導航欄感謝bootstrap開源,運用了始終懸浮在頂部的導航欄,奈何頁面長度有限不能向下滾動, 無法看出這一功能, 頁面內容由于思維過于局限, 暫時沒有想出用什么內容來填充, 只想到類似于積分的東西, 這一內容在以后會作出改進, 目前只有一個大概的模板,同時在改變頁面的分辨率時導航欄中的功能選項會變成一個按鈕,用一個<nva>便簽來裝載, 本頁也有一個亮點便是響應式, 在改變分辨率時板塊并不會發生錯亂的現象, 運用柵格系統思想, 在第二張圖張可以看到效果, 由于調各種分辨率國語繁瑣, 所以這一技術只在兩個頁面運用到,以后

27、有時間會加以改善。3 .管理用戶頁面:點擊管理用戶的小便簽會出現用戶的列表,點擊刪除用戶可以將用戶從數據庫中刪除,同時頁面中的幾個小符號也是運用 bootstrap 中的組件, 給人以更直觀清楚的描述功能,在本頁面我并沒有采用分頁技術, 但是在后面幾個頁面中有采用分頁技術, 在做頁面的時候并沒有考慮到有很多的用戶, 只是用幾個來驗證, 所以就沒有用分頁技術, 在這個點擊就刪除的技術上一開始遇到了難題, 并不知道怎么樣去些控制的后臺, 后來在頁面中運用了 js 的技術,可以利用表格的結點來獲取每個表格單元格的內容,再將按鍵設置為this,點擊便是獲取當前行的值,并傳到servlet中調用dao中刪除用戶的函數,便實現了。同時利用 js 的鼠標事件,鼠標移動到當前行時會改變顏色。4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論