![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/442756e2-bd0f-49d6-ab20-a0dafb20b32b/442756e2-bd0f-49d6-ab20-a0dafb20b32bpic.jpg)
![jsp課程設(shè)計--商品書籍管理系統(tǒng)_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/442756e2-bd0f-49d6-ab20-a0dafb20b32b/442756e2-bd0f-49d6-ab20-a0dafb20b32b1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)學(xué)與計算機(jī)學(xué)院</b></p><p><b> 課程設(shè)計說明書</b></p><p> 課 程 名 稱: JAVA/數(shù)據(jù)庫/網(wǎng)絡(luò)綜合課程設(shè)計 </p><p> 課 程 代 碼: </p><p>
2、 題 目: 商品書籍管理系統(tǒng) </p><p> 年級/專業(yè)/班 2010級網(wǎng)絡(luò)安全1班 </p><p> 學(xué) 生 姓 名: </p><p> 學(xué) 號: </p>
3、<p> 開 始 時 間: 2012 年 12 月 25 日</p><p> 完 成 時 間: 2013 年 01 月 16 日</p><p><b> 課程設(shè)計成績:</b></p><p> 指導(dǎo)教師簽名: 年 月 </p&g
4、t;<p><b> 目 錄 </b></p><p><b> 1 引 言1</b></p><p> 1.1問題的提出1</p><p><b> 1.2務(wù)與分析1</b></p><p> 2.程序的主要功能2</p>
5、<p><b> 2.1添加功能2</b></p><p><b> 2.2刪除功能2</b></p><p> 2.3刪除全部書籍信息2</p><p><b> 2.4顯示功能2</b></p><p><b> 2.5查找功能
6、2</b></p><p><b> 2.6修改功能2</b></p><p> 3、程序運行平臺3</p><p><b> 4 總體設(shè)計4</b></p><p><b> 5 程序說明4</b></p><p><
7、b> 6 模塊分析5</b></p><p> 6.1 添加模塊5</p><p> 6.2 顯示模塊7</p><p> 6.3 修改模塊10</p><p> 6.4 查找模塊11</p><p> 6.5 刪除模塊13</p><p> 6.6
8、清空模塊14</p><p><b> 7 系統(tǒng)測試15</b></p><p><b> 8 結(jié)論21</b></p><p><b> 1 引 言 </b></p><p><b> 問題的提出</b></p><p
9、> 商品書籍管理系統(tǒng)是一些售書單位或網(wǎng)站不可缺少的一部分,每天都存在書籍的大量流動,怎樣方便、快捷的管理圖書尤其重要。所以商品書籍管理系統(tǒng)應(yīng)該為管理者提供各類書籍信息和快速的操作手段。但一直以來人們使用傳統(tǒng)人工的方式管理書籍、期刊等,這種管理方式存在許多缺點,如:效率低、保密性差、容易出錯、不便于查找、更新和維護(hù)數(shù)據(jù)?;谶@個問題,有必要建立書籍管理系統(tǒng),能夠及時、準(zhǔn)確、有效的查詢和修改圖書信息。使得書籍管理工作規(guī)范化、系統(tǒng)化、
10、程序化,避免書籍管理的隨意性,提高信息處理速度和準(zhǔn)確性。</p><p><b> 1.2任務(wù)與分析</b></p><p><b> 本課題主要的任務(wù):</b></p><p> 用jsp+serlvet+sql模擬商品書籍管理系統(tǒng),以jsp動態(tài)網(wǎng)頁形式顯示數(shù)據(jù)庫中的數(shù)據(jù),并完成對這些數(shù)據(jù)的增、刪、改等基本操作,同
11、時將數(shù)據(jù)更新會數(shù)據(jù)庫。</p><p><b> 對本課題的分析:</b></p><p> 1、設(shè)計簡單、大方、合理的網(wǎng)頁以及每個頁面各自實現(xiàn)的功能</p><p> 2、實現(xiàn)jsp和servlet之間的跳轉(zhuǎn)以及信息的傳遞</p><p> 3、連接數(shù)據(jù)庫,獲取數(shù)據(jù)庫中的數(shù)據(jù)并顯示在頁面的是上</p>
12、;<p> 4、獲取管理者錄入的書籍信息,并添加到數(shù)據(jù)庫</p><p> 5、獲取管理者刪除某本或某些書籍的信息,并將刪除后的數(shù)據(jù)更新回數(shù)據(jù)庫</p><p> 6、獲取管理者查詢某本或某些書籍的信息,并將結(jié)果顯示在頁面上</p><p> 7、獲取管理者輸入修改某本或某些書籍的信息,并將修 改成功后的數(shù)據(jù)更新回數(shù)據(jù)庫</p>
13、<p><b> 程序的主要功能</b></p><p><b> 2.1添加功能</b></p><p> 實現(xiàn)將書籍的基本信息添加到數(shù)據(jù)庫,包括書的編號(主鍵)、種類、書名、作者、出版社、價格、總冊數(shù)。不論添加成功或失敗都會提示對話框,并在數(shù)據(jù)庫中根據(jù)主鍵的唯一性和不能為空兩個特點創(chuàng)建了觸發(fā)器;為了防止錄入非法字符,我們還在
14、客服端進(jìn)行了攔截。 </p><p><b> 2.2刪除功能</b></p><p> 點擊刪除按鈕將操作人員選中的復(fù)選框的對應(yīng)信息從數(shù)據(jù)庫中刪除</p><p><b> 刪除全部書籍信息</b></p><p> 選中書籍的所有種類,點擊刪除按鈕,將清空數(shù)據(jù)庫中所有書籍信息。</
15、p><p><b> 2.4顯示功能</b></p><p> 實現(xiàn)將數(shù)據(jù)庫中的書籍的主要信息顯示在頁面上,包括書的編號、種類、書名、作者、出版社、價格、總冊數(shù)。只用點擊對應(yīng)書籍種類的鏈接,就能將該種類的圖書信息顯示出來,該功能是用存儲過程實現(xiàn)的,且為使頁面看起來更加美觀,我們還實現(xiàn)了登錄進(jìn)入顯示界面就默認(rèn)顯示某種圖書信息功能。</p><p>
16、;<b> 2.5查找功能</b></p><p> 只要在復(fù)選框中選中要顯示的書籍信息,點擊查詢按鈕就能將對應(yīng)書籍的詳細(xì)信息顯示出來,如果未查詢到將會彈出提示信息。</p><p><b> 2.6修改功能</b></p><p> 實現(xiàn)對數(shù)據(jù)庫中已存在的書籍信息進(jìn)行修改。修改書籍信息有兩種方式即修改單條記錄和多
17、條記錄。無論修改成功與否都會彈出提示對話框,如果要修改的圖書不存在,則會提示操作員“未找到要修改的圖書”;且在客服端對非法字符的錄入進(jìn)行了攔截操作。3、程序運行平臺</p><p><b> 1、開發(fā)工具:</b></p><p> Eclipse4.2、Apache Tomcatv7.0、jdk1.7</p><p><b>
18、 2、具體操作如下:</b></p><p><b> ?。?)創(chuàng)建項目</b></p><p> 打開Eclipse->文件->新建->動態(tài)web項目->在項目名欄輸入項目名稱 ->單擊下一步(完成)。</p><p> (2)為項目添加相應(yīng)的源文件</p><p> 添
19、加javaBean:</p><p> 點擊項目名下的JavaRescoures->src->右鍵單擊選擇新建->包->輸入包名(包名一般取為com.xx) </p><p> 右鍵單擊建好的包->新建->類->輸入類名->完成</p><p> 添加servlet:</p><p>
20、 點擊項目名下的JavaRescoures->src->右鍵單擊選擇新建->包->輸入包名(包名一般取為com.xx) </p><p> 右鍵單擊建好的包->新建->servlet->輸入名稱->完成</p><p><b> 添加jsp:</b></p><p> 點擊項目名下的Web
21、Content->WEB INF->右鍵單擊選擇新建->jsp文件->輸入名稱->選中新建jsp文件(xhtml)->完成</p><p><b> 添加CSS:</b></p><p> 點擊項目名下的WebContent->WEB INF->右鍵單擊選擇新建->其他->選擇WEB下的CSS文件->
22、;輸入文件名->完成</p><p> 添加javascript:</p><p> i、點擊項目名下的WebContent->WEB INF->右鍵單擊選擇新建->其他->選擇javascript下的javascript原文件->輸入名稱->完成</p><p> 再編譯,鏈接,執(zhí)行等,此部分可參照實驗指導(dǎo)書前面的內(nèi)
23、容寫。</p><p><b> 4 總體設(shè)計</b></p><p> 圖4.1 系統(tǒng)總體框架圖</p><p><b> 5 程序說明</b></p><p><b> Book類的聲明</b></p><p> public class
24、Book {</p><p> int number;//書的編號</p><p> String kinds;//書的種類</p><p> String bname;//書的名字</p><p> String editor;//書的作者</p><p> String press;//書的出版社<
25、/p><p> int price;//書的單價</p><p> int cnumber;//書的總冊數(shù)</p><p> public int getNumber() {return number;}//設(shè)置編號</p><p> public void setNumber(int number) {this.number = num
26、ber;}//獲取編號</p><p> public String getKinds() {return kinds;}//設(shè)置種類</p><p> public void setKinds(String kinds) {this.kinds = kinds;}//獲取種類</p><p> public String getBname() {return
27、 bname;}//設(shè)置書名</p><p> public void setBname(String bname) {this.bname = bname;}//獲取書名</p><p> public String getEditor() {return editor;}//設(shè)置作者</p><p> public void setEditor(Strin
28、g editor) {this.editor = editor;}//獲取作者</p><p> public String getPress() {return press;}//設(shè)置出版社</p><p> public void setPress(String press) {this.press = press;}//獲取出版社</p><p> pu
29、blic int getPrice() {return price;}//設(shè)置單價</p><p> public void setPrice(int price) {this.price = price;}//獲取單件</p><p> public int getCnumber() {return cnumber;}//設(shè)置總冊數(shù)</p><p> pub
30、lic void setCnumber(int cnumber) {this.cnumber = cnumber;}//獲取總冊數(shù)</p><p> DBExecute類的聲明</p><p> public class DBExecute {</p><p> public Connection getConnection() throws Exceptio
31、n//連接數(shù)據(jù)庫</p><p> {String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; </p><p> String url="jdbc:sqlserver://localhost;integratedSecurity=true;databaseName=xsgl;"
32、; </p><p> try{Class.forName(driver);</p><p> return DriverManager.getConnection(url);}</p><p> catch(SQLException e){throw e;}}</p><p> public ResultSet CallProc(C
33、onnection con,String procname,String word) throws SQLException//調(diào)用存儲過程</p><p> {CallableStatement st=con.prepareCall("{call "+procname+"(?)}");</p><p> st.setString(1, word
34、);</p><p> st.execute();</p><p> ResultSet rs=st.getResultSet();</p><p> return rs;}}</p><p><b> 6 模塊分析</b></p><p><b> 6.1 添加模塊</
35、b></p><p> 設(shè)計思想:進(jìn)入操作頁面后,點擊添加按鈕 ,在彈出的注冊書籍信息表中輸入詳細(xì)的圖書信息,點擊保存按鈕,如果要添加的書籍信息已在數(shù)據(jù)庫中存在,則彈出消息框提示操作人員該書已存在,反之則提示添加成功,為了防止操作員錄入非法數(shù)據(jù),將在客服端進(jìn)行攔截,并提示輸入的數(shù)據(jù)非法,請重新輸入</p><p><b> 流程:</b></p>
36、<p><b> 關(guān)鍵代碼:</b></p><p> (1)獲取operate.jsp傳過來的數(shù)據(jù)。</p><p> 如:String zl=request.getParameter("zla");</p><p> Int bh=Integer.parseInt(request.getParame
37、ter("bha"));</p><p> (2)連接數(shù)據(jù)庫并用SQL語句進(jìn)行添加操作。</p><p> String url="jdbc:sqlserver://localhost;integratedSecurity=true;databaseName=xsgl;" ;</p><p> Connection co
38、n;</p><p><b> try{ </b></p><p> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); </p><p> con=DriverManager.getConnection(url); </p>
39、<p> String sql = "select * from book where bid=? "; </p><p> PreparedStatement pstmt = con.prepareStatement(sql); </p><p> pstmt.setInt(1, bh);</p><p> ResultS
40、et rs=pstmt.executeQuery(); </p><p> if(rs.next()){//當(dāng)添加的書已在數(shù)據(jù)庫中存在</p><p> PrintWriter out = response.getWriter();</p><p> String message="This book is exist !";<
41、;/p><p> out.print("<script language='javascript'>alert('"</p><p> + message + "');</script>");</p><p> out.print("<script la
42、nguage='javascript'>window.location.href='operate.jsp';</script>");}</p><p> else{ //要添加的圖書在數(shù)據(jù)庫中不存在,就添加該本圖書sql="insertintobook(bid,bkind,bname,beditor,bpress,bprice,bnum)
43、 values(?,?,?,?,?,?,?)";//添加圖書信息的SQL語句</p><p> pstmt = con.prepareStatement(sql); </p><p> pstmt.setInt( 1, bh);</p><p> pstmt.setString( 2, zl);</p><p> pstm
44、t.setString(3,sm);</p><p> pstmt.setString(4, zz);</p><p> pstmt.setString( 5, cbs);</p><p> pstmt.setInt( 6, jg);</p><p> pstmt.setInt(7, zcs); </p><p&
45、gt; int k=pstmt.executeUpdate(); </p><p> PrintWriter out = response.getWriter();</p><p> String message="ok!";</p><p> out.print("<script language='javasc
46、ript'>alert('"</p><p> + message + "');</script>");</p><p> out.print("<script language='javascript'>window.location.href='operate.js
47、p';</script>");</p><p> System.out.println("添加圖書的信息成功!");</p><p> System.out.println(k);</p><p> rs.close();</p><p> pstmt.close();</p&g
48、t;<p> con.close();}}</p><p> catch(Exception e){</p><p> e.printStackTrace();}</p><p><b> 6.2 顯示模塊</b></p><p> 設(shè)計思想:登錄成功后進(jìn)入顯示界面,默認(rèn)顯示文學(xué)類書籍的信息; 并
49、在顯示界面點擊相應(yīng)的鏈接即可查看對應(yīng)種類的書籍信息。</p><p><b> 流程圖:</b></p><p><b> 關(guān)鍵代碼:</b></p><p> 在Login.jsp中檢查輸入的用戶名和密碼是否正確:</p><p> function check()</p>
50、<p> { var user=document.form1.user.value;</p><p> var password=document.form1.pass.value;</p><p> if(user=="admin"&&password=="123")</p><p> {
51、return true;}</p><p> else{ alert("請輸入正確的用戶名或密碼!");</p><p> return false;}}</p><p> 在Operate.java的doPost()中根據(jù)獲取的圖書的種類響應(yīng)相應(yīng)的操作:</p><p> String kind=request.
52、getParameter( "kind");</p><p> System.out.println(kind);</p><p> ArrayList<Book> al;</p><p> switch(kind){</p><p> case "wenxue":</p&g
53、t;<p> al=listAll("文學(xué)");</p><p> request.setAttribute("alist", al);</p><p> request.getRequestDispatcher("/list.jsp").forward(request, response);</p>
54、;<p> break; }//還有顯示七種圖書的操作同上</p><p> 在listAll()函數(shù)中調(diào)用了已定義的存儲過程:</p><p> ArrayList<Book> listAll(String s)</p><p> {Connection con=null;</p><p> DBExe
55、cute db=new DBExecute();//自定義的類DBExecute</p><p> String procname="p";</p><p> String word=s;</p><p> ArrayList<Book> al=new ArrayList<Book>();</p>&l
56、t;p><b> try{</b></p><p> con=db.getConnection();//連接數(shù)據(jù)庫</p><p> ResultSet rs=db.CallProc(con, procname, word);//調(diào)用存儲過程</p><p> if(rs.next()){//查詢該種類的書存在 </p>
57、;<p> while(rs.next()){//把查詢結(jié)果加入到列表當(dāng)中</p><p> Book u=new Book();</p><p> u.setNumber(rs.getInt(1));</p><p> u.setKinds(rs.getString( 2));</p><p> u.setBname
58、(rs.getString(3));</p><p> u.setEditor(rs.getString(4));</p><p> u.setPress( rs.getString(5));</p><p> u.setPrice(rs.getInt(6));</p><p> u.setCnumber(rs.getInt(7));
59、</p><p> al.add(u); }} </p><p> else//查詢的該種類的書不存在</p><p> System.out.println("沒有該種類的書!");</p><p> rs.close();</p><p> con.close();}</p>
60、;<p> catch(Exception e)</p><p> {e.printStackTrace();}</p><p> return al;</p><p><b> 6.3 修改模塊</b></p><p> 設(shè)計思想:修改方式分為兩類:單條數(shù)據(jù)修改和多條數(shù)據(jù)修改;在相應(yīng)的修改表中輸
61、入書籍修改信息(單條數(shù)據(jù)修改需輸入圖書的詳細(xì)信息),點擊保存后,無論修改成功與否都會彈出提示框,為防止非法數(shù)據(jù)的錄入,將在客服端進(jìn)行攔截。</p><p><b> 流程圖:</b></p><p><b> 關(guān)鍵代碼:</b></p><p> ?。?)檢查單行修改的圖書信息:</p><p>
62、; function check1()</p><p> {if (!isNaN(document.getElementById("bhu").value)&&!isNaN(document.getElementById("jgu").value)&&!isNaN(document.getElementById("zcsu&q
63、uot;).value)&& document.getElementById("zlu").value!=""&&document.getElementById("smu").value!=""&&document.getElementById("zzu").value!="&
64、quot;&&document.getElementById("cbsu").value!="")</p><p> {return true;}</p><p> else{alert("請正確輸入修改信息!");</p><p> return false;} }</p>
65、;<p> (2)檢查多行數(shù)據(jù)的修改信息:</p><p> function check2()</p><p> {if(document.getElementById("zl2").value!=""&& !isNaN(document.getElementById("jg2").value
66、)||document.getElementById("zz2").value!=""&&!isNaN(document.getElementById("jg2").value))</p><p> {return true;}</p><p> else{window.alert("種類項和作者項
67、只能填其中一項!(客戶端)");</p><p> return false; }}</p><p> (3)在Update.java的doPost()中選擇是多行修改還是單行修改:</p><p> String operate=request.getParameter( "operate");</p><p
68、> if(operate.equals("danh"))//選擇的是單行修改</p><p> {listAll(request,response);}</p><p> else if(operate.equals("duoh"))//選擇的是多行修改</p><p> {listAll1(request,re
69、sponse);}</p><p><b> 關(guān)鍵的SQL語句:</b></p><p> 單行修改:String sql="update book set bkind="+zl1+" , bname="+sm1+" , beditor="+zz1+" , bpress="+cbs1+
70、" , bprice=? , bnum=? where bid=?";</p><p> 多行修改:sql="update book set bprice=? where bkind="+zl1+"";</p><p><b> 6.4 查找模塊</b></p><p> 設(shè)計思
71、想:查詢分為單條數(shù)據(jù)查詢和多條數(shù)據(jù)查詢,只要用戶在操作界面輸入了要查找圖書的編號,如果存在則在頁面上顯示對應(yīng)編號的書籍信息,否則提示用戶未查找到(單條數(shù)據(jù)查詢)。如果沒有輸入圖書的編號,就會查詢選中的復(fù)選框?qū)?yīng)的書籍信息,只要填了價格區(qū)間,查詢結(jié)果就將顯示在該價格區(qū)間內(nèi)選中的圖書信息,否則只顯示查找選中的圖書信息。(多條數(shù)據(jù)查詢)</p><p><b> 流程圖:</b></p&g
72、t;<p><b> 是否</b></p><p><b> 是否是</b></p><p><b> 關(guān)鍵代碼:</b></p><p> (1)在Select.java的dopost()中實現(xiàn)查詢圖書的功能:</p><p> String[]
73、 values1=request.getParameterValues( "checkselect1");</p><p> //獲取values2和values3的方法同獲取values1的方法相同</p><p> String price1=request.getParameter( "price1"); </p>
74、<p> String id=request.getParameter( "id");</p><p> if(id.isEmpty()){//沒有輸入圖書的編號</p><p> if(values1==null&&values2==null&&values3==null) {</p><p>
75、 request.getRequestDispatcher("/operate.jsp").forward(request, response); }</p><p> else{//選擇有查詢條件</p><p> ArrayList<Book> al;</p><p> al=listAll(values1,values2,
76、values3,price1,price2);</p><p> request.setAttribute("alist", al);</p><p> request.getRequestDispatcher("/operate.jsp").forward(request, response); }}</p><p>&
77、lt;b> else {</b></p><p> list1(request,response);}}//實現(xiàn)根據(jù)圖書的編號查詢圖書</p><p> stAll()實現(xiàn)按勾選的條件查詢:</p><p> String str1="";</p><p> if(s1!=null){</
78、p><p> str1+="'"+s1[0];</p><p> for(int i=1;i<s1.length-1;i++){</p><p> str1+="','"+s1[i];}</p><p> str1+="','"+s1
79、[s1.length-1]+"'";}</p><p> 根據(jù)是否填有價格區(qū)間選擇查詢操作:</p><p> if(price1.isEmpty()||price2.isEmpty())//價格區(qū)間沒有填完整</p><p> {//只查詢勾選了條件的圖書</p><p> sql = "sel
80、ect * from book where bpress in("+str2+") and beditor in("+str3+")";}</p><p> else{//在勾選了條件的圖書的基礎(chǔ)上而且在指定價格區(qū)間的圖書</p><p> sql = "select * from book where bpress in
81、("+str2+") and beditor in("+str3+") and bprice between ? and ?";}</p><p><b> 6.5 刪除模塊</b></p><p> 設(shè)計思想:只要用戶輸入圖書的編號,就會刪除該編號的圖書信息,否則刪除符合勾選條件的圖書,如果在價格區(qū)間中填入了數(shù)值
82、就將該價格區(qū)間內(nèi)符合勾選條件的圖書刪除。 </p><p><b> 流程圖:</b></p><p><b> 關(guān)鍵代碼:</b></p><p> 在Delete.java的doPost()中實現(xiàn)刪除操作:</p><p> (1)獲取operate.jsp中的數(shù)據(jù):</p>
83、<p> String[] values1=request.getParameterValues( "checkselect1");</p><p> String price1=request.getParameter( "price1"); </p><p> String id=req
84、uest.getParameter( "id");</p><p> (2)對用戶做的操作作相應(yīng)處理:</p><p> if(id.isEmpty()){//沒有輸入書的編號</p><p> if(values1==null&&values2==null&&values3==null) {</p&g
85、t;<p> request.getRequestDispatcher("/operate.jsp").forward(request, response); }</p><p> else{//勾選了要刪除的書</p><p> ArrayList<Book> al;</p><p> al=listAll(v
86、alues1,values2,values3,price1,price2);</p><p> request.setAttribute("alist", al);</p><p> request.getRequestDispatcher("/operate.jsp").forward(request, response); }}</p&
87、gt;<p> else{//輸入了要刪除的書的編號</p><p> list1(request,response); }}//根據(jù)書的編號刪除該本書</p><p> (3)按勾選條件刪除圖書</p><p> if(price1.isEmpty()||price2.isEmpty()){</p><p> sql
88、 = "delete from book where bpress in("+str2+") and beditor in("+str3+")";}</p><p> else{sql = "delete from book where bpress in("+str2+") and beditor in("
89、+str3+") and bprice between ? and ?"; }}}</p><p><b> 6.6 清空模塊</b></p><p> 設(shè)計思想:將所有種類的圖書選中,則清空數(shù)據(jù)庫中所有的記錄,否則刪除部分書籍信息。 </p><p><b> 流程圖:</b></p>
90、;<p><b> 是否</b></p><p> (1)實現(xiàn)清空所有圖書信息的SQL語句:</p><p> sql = "delete from book where bpress in("+str2+");</p><p><b> 7 系統(tǒng)測試</b><
91、/p><p> 1、登錄界面:只要登錄名和密碼輸入正確,點擊登錄按鈕就能進(jìn)入顯示界面,如果輸入有誤,則彈出提示信息“請輸入正確的用戶名或密碼”</p><p> 如圖7.1 登錄失敗</p><p> 2、顯示界面:用于顯示數(shù)據(jù)庫中各類書籍的詳細(xì)信息,只要點擊相應(yīng)書籍種類的鏈接,就能將該類書籍信息顯示在頁面上,默認(rèn)顯示文學(xué)類的書籍信息,且點擊“點擊進(jìn)入操作頁面”圖
92、標(biāo)則轉(zhuǎn)到操作界面</p><p> 如圖7.2登錄成功進(jìn)入顯示界面(默認(rèn)顯示文學(xué))</p><p> 如圖7.2.1點擊相應(yīng)書籍種類鏈接(圖點擊的是綜合性圖書)顯示的信息</p><p> 3、操作界面:使用復(fù)選框、文本框以及按鈕,實現(xiàn)對書籍的添加、查詢、刪除、修改,當(dāng)彈出消息提示框時,點擊消息提示框的確定按鈕,則返回操作界面</p><p
93、> 如圖7.3點擊添加在注冊表中輸入要添加的圖書信息且添加成功</p><p> 如圖7.3.1在注冊表中輸入非法字符點擊保存的效果圖</p><p> 如圖7.3.2插入的圖書已存在時點擊保存的效果圖</p><p> 如圖7.3.3選中復(fù)選框的值(該圖選中的是文學(xué))點擊查詢按鈕的效果圖</p><p> 如圖7.3.4選中
94、多項并輸入相應(yīng)價格顯示的效果圖</p><p> 如圖7.3.5按編號查詢的效果圖(該圖查詢的是編號為1書籍)</p><p> 如圖7.3.6刪除編號為778的書籍信息的效果圖</p><p> 如圖7.3.7再一次刪除編號為778的書籍信息的效果圖</p><p> 如圖7.3.8單擊修改在單行修改表中輸入修改信息點擊保存的效果圖
95、</p><p> 圖7.3.9在多行修改表中輸入修改信息點擊保存的效果圖</p><p> 如圖7.3.10在修改表(該圖以單行修改為例)中輸入非法字符的效果圖</p><p> 如圖7.3.11當(dāng)要修改的書籍不存在時點擊保存后的效果</p><p><b> 8 結(jié)論</b></p><p
96、><b> 任務(wù)的完成情況</b></p><p> 本次課程設(shè)計的任務(wù)基本上按要求完成,主要是用jsp實現(xiàn)了網(wǎng)頁的設(shè)計以及與servlet之間的信息傳送;在serlvet中連接數(shù)據(jù)庫并用TSQL語句完成了對數(shù)據(jù)庫的查詢、添加、刪除、修改等操作;其特點是讓管理員操作起來方便、簡單,只需點擊相應(yīng)網(wǎng)頁上相應(yīng)的按鈕或鏈接就可以快速地完成對數(shù)據(jù)庫中書籍信息的各種操作,再加上自然美觀的網(wǎng)頁界
97、面,讓使用該系統(tǒng)的人不會感到枯燥無味。但此次課程設(shè)計存在一些問題,主要是在查詢并顯示數(shù)據(jù)庫中的信息時,由于數(shù)據(jù)量比較大,不方便管理員查閱數(shù)據(jù),為解決這個問題應(yīng)以分頁的形式顯示數(shù)據(jù),但在設(shè)計過程中并沒有實現(xiàn)此功能。目前能夠想到的解決方案是在顯示頁面和操作頁面添加超鏈接(第一頁、上頁、下頁等),規(guī)定每頁顯示的多少條記錄,用TSQL語句查詢出數(shù)據(jù)庫中總共的行數(shù),除以每頁的記錄數(shù)就得到總共需要分多少頁。</p><p>
98、 此次課程設(shè)計的心得、體會</p><p> 為了完成本次課程設(shè)計,我付出了很大的努力,花了很大一部分的時間和精力,才算是按要求基本做好了。在設(shè)計和構(gòu)思方面遇到過很多問題,通過查閱資料和尋求同學(xué)幫助后,所有的困難和疑問都一一得到了解決。本次課程設(shè)計讓我對JSP編程技術(shù)以及數(shù)據(jù)庫操作有了更深層次的理解,曾在該門課程學(xué)習(xí)上不懂的問題也在課程設(shè)計過程中得到解決,同時為下學(xué)期J2EE的學(xué)習(xí)打下了良好的基礎(chǔ),當(dāng)然編程水
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書籍管理系統(tǒng)課程設(shè)計報告
- vb課程設(shè)計-書籍管理系統(tǒng)
- jsp課程設(shè)計報告---jsp學(xué)生成績管理系統(tǒng)
- java課程設(shè)計-jsp(新聞管理系統(tǒng))
- jsp課程設(shè)計--圖書管理系統(tǒng)
- jsp圖書管理系統(tǒng)課程設(shè)計
- 圖書管理系統(tǒng)--jsp課程設(shè)計報告
- jsp課程設(shè)計--職工信息管理系統(tǒng)
- jsp課程設(shè)計---班級信息管理系統(tǒng)
- jsp課程設(shè)計《圖書館管理系統(tǒng)》
- 圖書館書籍管理系統(tǒng)課程設(shè)計
- jsp通訊簿管理系統(tǒng)-課程設(shè)計
- 基于 jsp的酒店管理系統(tǒng)課程設(shè)計
- 課程設(shè)計報告---商品管理系統(tǒng)
- 商品銷售管理系統(tǒng)課程設(shè)計
- 課程設(shè)計--商品銷售管理系統(tǒng)
- oracle課程設(shè)計--圖書館書籍管理系統(tǒng)
- jsp課程設(shè)計---網(wǎng)上購物系統(tǒng)
- jsp課程設(shè)計---基于jsp的新聞發(fā)布系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---個人書籍管理系統(tǒng)
評論
0/150
提交評論