2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)學(xué)與計(jì)算機(jī)學(xué)院</b></p><p><b>  課程設(shè)計(jì)說明書</b></p><p>  課 程 名 稱: JAVA/數(shù)據(jù)庫(kù)/網(wǎng)絡(luò)綜合課程設(shè)計(jì) </p><p>  課 程 代 碼: </p><p> 

2、 題 目: 商品書籍管理系統(tǒng) </p><p>  年級(jí)/專業(yè)/班 2010級(jí)網(wǎng)絡(luò)安全1班 </p><p>  學(xué) 生 姓 名: </p><p>  學(xué)   號(hào): </p>

3、<p>  開 始 時(shí) 間: 2012 年 12 月 25 日</p><p>  完 成 時(shí) 間: 2013 年 01 月 16 日</p><p><b>  課程設(shè)計(jì)成績(jī):</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、程序運(yùn)行平臺(tái)3</p><p><b>  4 總體設(shè)計(jì)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)測(cè)試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)站不可缺少的一部分,每天都存在書籍的大量流動(dòng),怎樣方便、快捷的管理圖書尤其重要。所以商品書籍管理系統(tǒng)應(yīng)該為管理者提供各類書籍信息和快速的操作手段。但一直以來人們使用傳統(tǒng)人工的方式管理書籍、期刊等,這種管理方式存在許多缺點(diǎn),如:效率低、保密性差、容易出錯(cuò)、不便于查找、更新和維護(hù)數(shù)據(jù)?;谶@個(gè)問題,有必要建立書籍管理系統(tǒng),能夠及時(shí)、準(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動(dòng)態(tài)網(wǎng)頁形式顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù),并完成對(duì)這些數(shù)據(jù)的增、刪、改等基本操作,同

11、時(shí)將數(shù)據(jù)更新會(huì)數(shù)據(jù)庫(kù)。</p><p><b>  對(duì)本課題的分析:</b></p><p>  1、設(shè)計(jì)簡(jiǎn)單、大方、合理的網(wǎng)頁以及每個(gè)頁面各自實(shí)現(xiàn)的功能</p><p>  2、實(shí)現(xiàn)jsp和servlet之間的跳轉(zhuǎn)以及信息的傳遞</p><p>  3、連接數(shù)據(jù)庫(kù),獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)并顯示在頁面的是上</p>

12、;<p>  4、獲取管理者錄入的書籍信息,并添加到數(shù)據(jù)庫(kù)</p><p>  5、獲取管理者刪除某本或某些書籍的信息,并將刪除后的數(shù)據(jù)更新回?cái)?shù)據(jù)庫(kù)</p><p>  6、獲取管理者查詢某本或某些書籍的信息,并將結(jié)果顯示在頁面上</p><p>  7、獲取管理者輸入修改某本或某些書籍的信息,并將修 改成功后的數(shù)據(jù)更新回?cái)?shù)據(jù)庫(kù)</p>

13、<p><b>  程序的主要功能</b></p><p><b>  2.1添加功能</b></p><p>  實(shí)現(xiàn)將書籍的基本信息添加到數(shù)據(jù)庫(kù),包括書的編號(hào)(主鍵)、種類、書名、作者、出版社、價(jià)格、總冊(cè)數(shù)。不論添加成功或失敗都會(huì)提示對(duì)話框,并在數(shù)據(jù)庫(kù)中根據(jù)主鍵的唯一性和不能為空兩個(gè)特點(diǎn)創(chuàng)建了觸發(fā)器;為了防止錄入非法字符,我們還在

14、客服端進(jìn)行了攔截。 </p><p><b>  2.2刪除功能</b></p><p>  點(diǎn)擊刪除按鈕將操作人員選中的復(fù)選框的對(duì)應(yīng)信息從數(shù)據(jù)庫(kù)中刪除</p><p><b>  刪除全部書籍信息</b></p><p>  選中書籍的所有種類,點(diǎn)擊刪除按鈕,將清空數(shù)據(jù)庫(kù)中所有書籍信息。</

15、p><p><b>  2.4顯示功能</b></p><p>  實(shí)現(xiàn)將數(shù)據(jù)庫(kù)中的書籍的主要信息顯示在頁面上,包括書的編號(hào)、種類、書名、作者、出版社、價(jià)格、總冊(cè)數(shù)。只用點(diǎn)擊對(duì)應(yīng)書籍種類的鏈接,就能將該種類的圖書信息顯示出來,該功能是用存儲(chǔ)過程實(shí)現(xiàn)的,且為使頁面看起來更加美觀,我們還實(shí)現(xiàn)了登錄進(jìn)入顯示界面就默認(rèn)顯示某種圖書信息功能。</p><p>

16、;<b>  2.5查找功能</b></p><p>  只要在復(fù)選框中選中要顯示的書籍信息,點(diǎn)擊查詢按鈕就能將對(duì)應(yīng)書籍的詳細(xì)信息顯示出來,如果未查詢到將會(huì)彈出提示信息。</p><p><b>  2.6修改功能</b></p><p>  實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中已存在的書籍信息進(jìn)行修改。修改書籍信息有兩種方式即修改單條記錄和多

17、條記錄。無論修改成功與否都會(huì)彈出提示對(duì)話框,如果要修改的圖書不存在,則會(huì)提示操作員“未找到要修改的圖書”;且在客服端對(duì)非法字符的錄入進(jìn)行了攔截操作。3、程序運(yùn)行平臺(tái)</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)建項(xiàng)目</b></p><p>  打開Eclipse->文件->新建->動(dòng)態(tài)web項(xiàng)目->在項(xiàng)目名欄輸入項(xiàng)目名稱 ->單擊下一步(完成)。</p><p> ?。?)為項(xiàng)目添加相應(yīng)的源文件</p><p>  添

19、加javaBean:</p><p>  點(diǎn)擊項(xiàng)目名下的JavaRescoures->src->右鍵單擊選擇新建->包->輸入包名(包名一般取為com.xx) </p><p>  右鍵單擊建好的包->新建->類->輸入類名->完成</p><p>  添加servlet:</p><p> 

20、 點(diǎn)擊項(xiàng)目名下的JavaRescoures->src->右鍵單擊選擇新建->包->輸入包名(包名一般取為com.xx) </p><p>  右鍵單擊建好的包->新建->servlet->輸入名稱->完成</p><p><b>  添加jsp:</b></p><p>  點(diǎn)擊項(xiàng)目名下的Web

21、Content->WEB INF->右鍵單擊選擇新建->jsp文件->輸入名稱->選中新建jsp文件(xhtml)->完成</p><p><b>  添加CSS:</b></p><p>  點(diǎn)擊項(xiàng)目名下的WebContent->WEB INF->右鍵單擊選擇新建->其他->選擇WEB下的CSS文件->

22、;輸入文件名->完成</p><p>  添加javascript:</p><p>  i、點(diǎn)擊項(xiàng)目名下的WebContent->WEB INF->右鍵單擊選擇新建->其他->選擇javascript下的javascript原文件->輸入名稱->完成</p><p>  再編譯,鏈接,執(zhí)行等,此部分可參照實(shí)驗(yàn)指導(dǎo)書前面的內(nèi)

23、容寫。</p><p><b>  4 總體設(shè)計(jì)</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;//書的編號(hào)</p><p>  String kinds;//書的種類</p><p>  String bname;//書的名字</p><p>  String editor;//書的作者</p><p>  String press;//書的出版社<

25、/p><p>  int price;//書的單價(jià)</p><p>  int cnumber;//書的總冊(cè)數(shù)</p><p>  public int getNumber() {return number;}//設(shè)置編號(hào)</p><p>  public void setNumber(int number) {this.number = num

26、ber;}//獲取編號(hào)</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è)置單價(jià)</p><p>  public void setPrice(int price) {this.price = price;}//獲取單件</p><p>  public int getCnumber() {return cnumber;}//設(shè)置總冊(cè)數(shù)</p><p>  pub

30、lic void setCnumber(int cnumber) {this.cnumber = cnumber;}//獲取總冊(cè)數(shù)</p><p>  DBExecute類的聲明</p><p>  public class DBExecute {</p><p>  public Connection getConnection() throws Exceptio

31、n//連接數(shù)據(jù)庫(kù)</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)用存儲(chǔ)過程</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ì)思想:進(jìn)入操作頁面后,點(diǎn)擊添加按鈕 ,在彈出的注冊(cè)書籍信息表中輸入詳細(xì)的圖書信息,點(diǎn)擊保存按鈕,如果要添加的書籍信息已在數(shù)據(jù)庫(kù)中存在,則彈出消息框提示操作人員該書已存在,反之則提示添加成功,為了防止操作員錄入非法數(shù)據(jù),將在客服端進(jìn)行攔截,并提示輸入的數(shù)據(jù)非法,請(qǐng)重新輸入</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ù)庫(kù)并用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ù)庫(kù)中存在</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ù)庫(kù)中不存在,就添加該本圖書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ì)思想:登錄成功后進(jìn)入顯示界面,默認(rèn)顯示文學(xué)類書籍的信息; 并

49、在顯示界面點(diǎn)擊相應(yīng)的鏈接即可查看對(duì)應(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("請(qǐng)輸入正確的用戶名或密碼!");</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)用了已定義的存儲(chǔ)過程:</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ù)庫(kù)</p><p>  ResultSet rs=db.CallProc(con, procname, word);//調(diào)用存儲(chǔ)過程</p><p>  if(rs.next()){//查詢?cè)摲N類的書存在 </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è)計(jì)思想:修改方式分為兩類:?jiǎn)螚l數(shù)據(jù)修改和多條數(shù)據(jù)修改;在相應(yīng)的修改表中輸

61、入書籍修改信息(單條數(shù)據(jù)修改需輸入圖書的詳細(xì)信息),點(diǎn)擊保存后,無論修改成功與否都會(huì)彈出提示框,為防止非法數(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("請(qǐng)正確輸入修改信息!");</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("種類項(xiàng)和作者項(xiàng)

67、只能填其中一項(xiàng)?。蛻舳耍?quot;);</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è)計(jì)思

71、想:查詢分為單條數(shù)據(jù)查詢和多條數(shù)據(jù)查詢,只要用戶在操作界面輸入了要查找圖書的編號(hào),如果存在則在頁面上顯示對(duì)應(yīng)編號(hào)的書籍信息,否則提示用戶未查找到(單條數(shù)據(jù)查詢)。如果沒有輸入圖書的編號(hào),就會(huì)查詢選中的復(fù)選框?qū)?yīng)的書籍信息,只要填了價(jià)格區(qū)間,查詢結(jié)果就將顯示在該價(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()中實(shí)現(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()){//沒有輸入圖書的編號(hào)</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);}}//實(shí)現(xiàn)根據(jù)圖書的編號(hào)查詢圖書</p><p>  stAll()實(shí)現(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ù)是否填有價(jià)格區(qū)間選擇查詢操作:</p><p>  if(price1.isEmpty()||price2.isEmpty())//價(jià)格區(qū)間沒有填完整</p><p>  {//只查詢勾選了條件的圖書</p><p>  sql = "sel

80、ect * from book where bpress in("+str2+") and beditor in("+str3+")";}</p><p>  else{//在勾選了條件的圖書的基礎(chǔ)上而且在指定價(jià)格區(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è)計(jì)思想:只要用戶輸入圖書的編號(hào),就會(huì)刪除該編號(hào)的圖書信息,否則刪除符合勾選條件的圖書,如果在價(jià)格區(qū)間中填入了數(shù)值

82、就將該價(jià)格區(qū)間內(nèi)符合勾選條件的圖書刪除。 </p><p><b>  流程圖:</b></p><p><b>  關(guān)鍵代碼:</b></p><p>  在Delete.java的doPost()中實(shí)現(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)對(duì)用戶做的操作作相應(yīng)處理:</p><p>  if(id.isEmpty()){//沒有輸入書的編號(hào)</p><p>  if(values1==null&&values2==null&&values3==null) {</p&g

85、t;<p>  request.getRequestDispatcher("/operate.jsp").forward(request, response); }</p><p>  else{//勾選了要?jiǎng)h除的書</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{//輸入了要?jiǎng)h除的書的編號(hào)</p><p>  list1(request,response); }}//根據(jù)書的編號(hào)刪除該本書</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è)計(jì)思想:將所有種類的圖書選中,則清空數(shù)據(jù)庫(kù)中所有的記錄,否則刪除部分書籍信息。 </p><p><b>  流程圖:</b></p>

90、;<p><b>  是否</b></p><p>  (1)實(shí)現(xiàn)清空所有圖書信息的SQL語句:</p><p>  sql = "delete from book where bpress in("+str2+");</p><p><b>  7 系統(tǒng)測(cè)試</b><

91、/p><p>  1、登錄界面:只要登錄名和密碼輸入正確,點(diǎn)擊登錄按鈕就能進(jìn)入顯示界面,如果輸入有誤,則彈出提示信息“請(qǐng)輸入正確的用戶名或密碼”</p><p>  如圖7.1 登錄失敗</p><p>  2、顯示界面:用于顯示數(shù)據(jù)庫(kù)中各類書籍的詳細(xì)信息,只要點(diǎn)擊相應(yīng)書籍種類的鏈接,就能將該類書籍信息顯示在頁面上,默認(rèn)顯示文學(xué)類的書籍信息,且點(diǎn)擊“點(diǎn)擊進(jìn)入操作頁面”圖

92、標(biāo)則轉(zhuǎn)到操作界面</p><p>  如圖7.2登錄成功進(jìn)入顯示界面(默認(rèn)顯示文學(xué))</p><p>  如圖7.2.1點(diǎn)擊相應(yīng)書籍種類鏈接(圖點(diǎn)擊的是綜合性圖書)顯示的信息</p><p>  3、操作界面:使用復(fù)選框、文本框以及按鈕,實(shí)現(xiàn)對(duì)書籍的添加、查詢、刪除、修改,當(dāng)彈出消息提示框時(shí),點(diǎn)擊消息提示框的確定按鈕,則返回操作界面</p><p

93、>  如圖7.3點(diǎn)擊添加在注冊(cè)表中輸入要添加的圖書信息且添加成功</p><p>  如圖7.3.1在注冊(cè)表中輸入非法字符點(diǎn)擊保存的效果圖</p><p>  如圖7.3.2插入的圖書已存在時(shí)點(diǎn)擊保存的效果圖</p><p>  如圖7.3.3選中復(fù)選框的值(該圖選中的是文學(xué))點(diǎn)擊查詢按鈕的效果圖</p><p>  如圖7.3.4選中

94、多項(xiàng)并輸入相應(yīng)價(jià)格顯示的效果圖</p><p>  如圖7.3.5按編號(hào)查詢的效果圖(該圖查詢的是編號(hào)為1書籍)</p><p>  如圖7.3.6刪除編號(hào)為778的書籍信息的效果圖</p><p>  如圖7.3.7再一次刪除編號(hào)為778的書籍信息的效果圖</p><p>  如圖7.3.8單擊修改在單行修改表中輸入修改信息點(diǎn)擊保存的效果圖

95、</p><p>  圖7.3.9在多行修改表中輸入修改信息點(diǎn)擊保存的效果圖</p><p>  如圖7.3.10在修改表(該圖以單行修改為例)中輸入非法字符的效果圖</p><p>  如圖7.3.11當(dāng)要修改的書籍不存在時(shí)點(diǎn)擊保存后的效果</p><p><b>  8 結(jié)論</b></p><p

96、><b>  任務(wù)的完成情況</b></p><p>  本次課程設(shè)計(jì)的任務(wù)基本上按要求完成,主要是用jsp實(shí)現(xiàn)了網(wǎng)頁的設(shè)計(jì)以及與servlet之間的信息傳送;在serlvet中連接數(shù)據(jù)庫(kù)并用TSQL語句完成了對(duì)數(shù)據(jù)庫(kù)的查詢、添加、刪除、修改等操作;其特點(diǎn)是讓管理員操作起來方便、簡(jiǎn)單,只需點(diǎn)擊相應(yīng)網(wǎng)頁上相應(yīng)的按鈕或鏈接就可以快速地完成對(duì)數(shù)據(jù)庫(kù)中書籍信息的各種操作,再加上自然美觀的網(wǎng)頁界

97、面,讓使用該系統(tǒng)的人不會(huì)感到枯燥無味。但此次課程設(shè)計(jì)存在一些問題,主要是在查詢并顯示數(shù)據(jù)庫(kù)中的信息時(shí),由于數(shù)據(jù)量比較大,不方便管理員查閱數(shù)據(jù),為解決這個(gè)問題應(yīng)以分頁的形式顯示數(shù)據(jù),但在設(shè)計(jì)過程中并沒有實(shí)現(xiàn)此功能。目前能夠想到的解決方案是在顯示頁面和操作頁面添加超鏈接(第一頁、上頁、下頁等),規(guī)定每頁顯示的多少條記錄,用TSQL語句查詢出數(shù)據(jù)庫(kù)中總共的行數(shù),除以每頁的記錄數(shù)就得到總共需要分多少頁。</p><p>

98、  此次課程設(shè)計(jì)的心得、體會(huì)</p><p>  為了完成本次課程設(shè)計(jì),我付出了很大的努力,花了很大一部分的時(shí)間和精力,才算是按要求基本做好了。在設(shè)計(jì)和構(gòu)思方面遇到過很多問題,通過查閱資料和尋求同學(xué)幫助后,所有的困難和疑問都一一得到了解決。本次課程設(shè)計(jì)讓我對(duì)JSP編程技術(shù)以及數(shù)據(jù)庫(kù)操作有了更深層次的理解,曾在該門課程學(xué)習(xí)上不懂的問題也在課程設(shè)計(jì)過程中得到解決,同時(shí)為下學(xué)期J2EE的學(xué)習(xí)打下了良好的基礎(chǔ),當(dāng)然編程水

溫馨提示

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

評(píng)論

0/150

提交評(píng)論