基于jsp圖書查詢系統(tǒng)課程設(shè)計_第1頁
基于jsp圖書查詢系統(tǒng)課程設(shè)計_第2頁
基于jsp圖書查詢系統(tǒng)課程設(shè)計_第3頁
基于jsp圖書查詢系統(tǒng)課程設(shè)計_第4頁
基于jsp圖書查詢系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、天津理工大學(xué)中環(huán)信息學(xué)院程序設(shè)計課程設(shè)計報告2.題意分析23.設(shè)計目的24. 設(shè)計特點(diǎn)35. 功能說明35.1.普通用戶35.2.管理員36. 主要程序段36.1.Index.jsp36.2.denglu.jsp86.3.select.jsp106.4.add.jsp146.5.delete.jsp176.6.updata.jsp206.7.addadmin.jsp227. 運(yùn)行結(jié)果分析以及測試結(jié)果258.存在問題解決方法269. 設(shè)計收獲體會2610. 致謝271.題目說明伴隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,人們已經(jīng)不再滿足于信息的瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來的更加多的便利。掌握計算機(jī)知

2、識和應(yīng)用,是培養(yǎng)新型人才的一個重要環(huán)節(jié)。在眾多的計算機(jī)語言當(dāng)中,Java無疑是最具生命力的語言之一,由于計算機(jī)發(fā)展帶來的新應(yīng)用的出現(xiàn),Java越來越流行。作為一種程序設(shè)計語言,Java是分布式的、面向?qū)ο蟮?、不依賴于機(jī)器的結(jié)構(gòu),它最大的利用了網(wǎng)絡(luò)而不受CPU和環(huán)境的限制。圖書館查詢系統(tǒng)正適應(yīng)了當(dāng)今社會快節(jié)奏地生活,基于JSP開發(fā)設(shè)計,面對管理人員和普通用戶不同群體的應(yīng)用系統(tǒng)。管理員能登錄系統(tǒng),進(jìn)行管理員注冊,退出登錄,查詢圖書,增加圖書,刪除圖書,修改圖書一系列功能,擁有最高的權(quán)限。而普通用戶有注冊,登錄系統(tǒng),退出系統(tǒng),查詢圖書功能。2.題意分析圖書查詢系統(tǒng)是典型的信息查詢系統(tǒng),其開發(fā)主要包括

3、后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。因此本人結(jié)合開入式圖書系統(tǒng)的要求,對MySQL Server2000數(shù)據(jù)庫管理系統(tǒng)、SQL語言原理、JSP應(yīng)用程序設(shè)計進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。3.設(shè)計目的隨著社會的發(fā)展,人類的生產(chǎn)、生活越來越離不開信息。誰擁有更多更有效的信息,誰就將在競爭中處于有利的地位。而圖書作為信息存儲及傳播的主要媒體之一,其需求量也越來越大。與此同時,圖書館對圖書管理的要求也越來越高,手工處理的弊端日益顯示出來。由于手工管理方式的落后,處理數(shù)據(jù)的能力有限,工作效率低,

4、不能及時為讀者提供所需信息,各種數(shù)據(jù)得不到充分利用,這是目前圖書館管理工作存在的普遍問題。在計算機(jī)日益普及的今天,對圖書管理而言,若采用一套行之有效的圖書館管理系統(tǒng)來管理書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求。解決這些問題最好的辦法是實(shí)現(xiàn)圖書信息管理的自動化,用計算機(jī)處理來代替手工處理。利用計算機(jī)強(qiáng)大的功能完成圖書及讀者數(shù)據(jù)的增刪改查,以及圖書的借出歸還等各項操作。因此設(shè)計了圖書查詢系統(tǒng),可以實(shí)現(xiàn)用戶查詢圖書,管理員增刪改查功能。4. 設(shè)計特點(diǎn) 本圖書查詢系統(tǒng)特點(diǎn)在于頁面設(shè)計簡單精美,功能較為完善,對普通用戶操作要求不高,網(wǎng)頁上面一目了然。在注冊界面中運(yùn)用

5、正則表達(dá)式對字符串進(jìn)行驗證,規(guī)定好了注冊格式,方便數(shù)據(jù)庫的應(yīng)用。5. 功能說明 本系統(tǒng)分為兩大模塊,分別是普通用戶,管理員。5.1.普通用戶 注冊:普通用戶可以在注冊頁面上根據(jù)格式要求進(jìn)行注冊。 登錄/注銷:已經(jīng)注冊的用戶可以在登錄頁面進(jìn)行登錄/在用戶頁面進(jìn)行注銷。 查詢:用戶可以在查詢頁面根據(jù)書號,書名,作者,出版社,地址進(jìn)行查詢功能,完成查詢操作。5.2.管理員 登錄:管理員在登錄頁面上選擇管理員進(jìn)行登錄。 注冊:管理員在管理員頁面上進(jìn)行新的管理員注冊。 注銷:管理員在管理員頁面上進(jìn)行注銷操作。 查詢:管理員在查詢頁面上根據(jù)書號,書名,作者,出版社,地址進(jìn)行查詢。 增加圖書:管理員在增加圖

6、書頁面增加圖書。 刪除圖書:管理員在刪除圖書頁面刪除圖書。 修改圖書:管理員在修改圖書頁面修改圖書。6. 主要程序段6.1.Index.jsp<% page language="java" import="java.util.*" import= "java.sql.* " pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+":/&quo

7、t;+request.getServerName()+":"+request.getServerPort()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href="<%=basePath%>"> <title>圖書查詢</title> <meta http-equiv="pr

8、agma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv=&q

9、uot;description" content="This is my page"><style>tdtext-align:center</style> </head> <body> <% request.setCharacterEncoding("utf-8"); String str_submit = request.getParameter("submit"); String str_bookid = request.getParameter("b

10、ookid"); String str_bookname = request.getParameter("bookname"); String str_writer = request.getParameter("writer"); String str_publish = request.getParameter("publish"); String driverClass="com.mysql.jdbc.Driver" String url="jdbc:mysql:/localhost:33

11、06/javaks" String user="root" String password="" Connection conn=null; ResultSet rs=null; try Class.forName(driverClass); conn=DriverManager.getConnection(url,user,password); catch(Exception e) e.printStackTrace(); Statement stmt=conn.createStatement(); stmt.execute("se

12、t names utf8"); if(str_submit.equals("查詢所有可借圖書") String sql="select * from tsxx" rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社&l

13、t;/td><td>所在位置</td><td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.get

14、String(3); out.print("</td><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</ta

15、ble>"); else if(str_submit.equals("按書號查詢") String sql="select * from tsxx where bookid='"+str_bookid+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr>

16、;<td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td><td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.

17、print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("</td><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs

18、.getString(6); out.print("</td></tr>"); out.print("</table>"); else out.print("<script>alert('書號不存在!');window.top.location.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按書名查詢")

19、 String sql="select * from tsxx where bookname='"+str_bookname+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>

20、;作者</td><td>出版社</td><td>所在位置</td><td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td

21、>"); out.print(rs.getString(3); out.print("</td><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>&qu

22、ot;); out.print("</table>"); else out.print("<script>alert('沒有這本書!');window.top.location.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按作者查詢") String sql="select * from tsxx where writer='&

23、quot;+str_writer+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td&

24、gt;<td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("<

25、/td><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</table>"); else out.print(

26、"<script>alert('沒有這個作者!');window.top.location.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按出版社查詢") String sql="select * from tsxx where publish='"+str_publish+"'" rs=stmt.executeQuery(

27、sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td><td>備注</td></tr>"); while(rs.n

28、ext() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("</td><td>"); out.print(rs.getString(4); out

29、.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</table>"); else out.print("<script>alert('沒有這個出版社!');window.top

30、.location.href='index.jsp'</script>"); stmt.close(); conn.close(); %> </body></html>6.2.denglu.jsp<% page language="java" import="java.util.*" import= "java.sql.* " pageEncoding="utf-8"%><%String path = request.getCon

31、textPath();String basePath = request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href="<%=basePath%>">

32、 <title>My JSP 'dengle.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-e

33、quiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!-<link rel="stylesheet" type="text/css" href="styles.css">-> </head> <body> <% req

34、uest.setCharacterEncoding("utf-8"); String str_username = request.getParameter("username"); String str_password = request.getParameter("password"); String str_dlqx=request.getParameter("dlqx"); if(str_username.equals("")out.println("<script&g

35、t;alert('用戶名不能為空!');window.top.location.href='denglu.html'</script>"); else if(str_password.equals("")out.println("<script>alert('密碼不能為空!');window.top.location.href='denglu.html'</script>"); else String driverClass="com.

36、mysql.jdbc.Driver" String url="jdbc:mysql:/localhost:3306/javaks" String user="root" String password="" Connection conn=null; ResultSet rs=null; try Class.forName(driverClass); conn=DriverManager.getConnection(url,user,password); catch(Exception e) e.printStackTrac

37、e(); if(str_dlqx.equals("普通用戶") Statement stmt=conn.createStatement(); String sql="select * from userinfo where username='"+str_username+"' and password='"+str_password+"'" rs=stmt.executeQuery(sql); if(rs.next() session.setAttribute("str_

38、username","普通用戶"); out.print("<script>alert('登錄成功');window.top.location.href='index.jsp'</script>"); elseout.print("<script>alert('用戶名或密碼錯誤');window.top.location.href='denglu.html'</script>"); else if(str_dlqx

39、.equals("管理員") Statement stmt=conn.createStatement(); String sql="select * from admin where username='"+str_username+"' and password='"+str_password+"'" rs=stmt.executeQuery(sql); if(rs.next() session.setAttribute("str_username","

40、;管理員"); out.print("<script>alert('登錄成功');window.top.location.href='index.jsp'</script>"); elseout.print("<script>alert('用戶名或密碼錯誤');window.top.location.href='denglu.html'</script>"); %> </body></html>6.3.s

41、elect.jsp<% page language="java" import="java.util.*" import= "java.sql.* " pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort

42、()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href="<%=basePath%>"> <title>圖書查詢</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv

43、="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page">&

44、lt;style>tdtext-align:center</style> </head> <body> <% request.setCharacterEncoding("utf-8"); String str_submit = request.getParameter("submit"); String str_bookid = request.getParameter("bookid"); String str_bookname = request.getParameter("

45、;bookname"); String str_writer = request.getParameter("writer"); String str_publish = request.getParameter("publish"); String driverClass="com.mysql.jdbc.Driver" String url="jdbc:mysql:/localhost:3306/javaks" String user="root" String password=&

46、quot;" Connection conn=null; ResultSet rs=null; try Class.forName(driverClass); conn=DriverManager.getConnection(url,user,password); catch(Exception e) e.printStackTrace(); Statement stmt=conn.createStatement(); stmt.execute("set names utf8"); if(str_submit.equals("查詢所有可借圖書"

47、) String sql="select * from tsxx" rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td><td>備注</td></

48、tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("</td><td>"); out.p

49、rint(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</table>"); else if(str_submit.equals("按書號查詢") S

50、tring sql="select * from tsxx where bookid='"+str_bookid+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者<

51、;/td><td>出版社</td><td>所在位置</td><td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>&q

52、uot;); out.print(rs.getString(3); out.print("</td><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>");

53、out.print("</table>"); else out.print("<script>alert('書號不存在!');window.top.location.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按書名查詢") String sql="select * from tsxx where bookname='"

54、;+str_bookname+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td>

55、;<td>備注</td></tr>"); while(rs.next() out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("</t

56、d><td>"); out.print(rs.getString(4); out.print("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</table>"); else out.print(&q

57、uot;<script>alert('沒有這本書!');window.top.location.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按作者查詢") String sql="select * from tsxx where writer='"+str_writer+"'" rs=stmt.executeQuery(sql);

58、if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><td>書號</td><td>書名</td><td>作者</td><td>出版社</td><td>所在位置</td><td>備注</td></tr>"); while(rs.next()

59、out.print("<tr><td>"); out.print(rs.getString(1); out.print("</td><td>"); out.print(rs.getString(2); out.print("</td><td>"); out.print(rs.getString(3); out.print("</td><td>"); out.print(rs.getString(4); out.print

60、("</td><td>"); out.print(rs.getString(5); out.print("</td><td>"); out.print(rs.getString(6); out.print("</td></tr>"); out.print("</table>"); else out.print("<script>alert('沒有這個作者!');window.top.locati

61、on.href='index.jsp'</script>"); stmt.close(); conn.close(); else if(str_submit.equals("按出版社查詢") String sql="select * from tsxx where publish='"+str_publish+"'" rs=stmt.executeQuery(sql); if(rs.next() rs=stmt.executeQuery(sql); out.print("<table border='1px' align='center'><tr><t

溫馨提示

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

評論

0/150

提交評論