freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

小型倉庫溫濕度監(jiān)測系統(tǒng)_畢業(yè)設(shè)計(jì)說明書-資料下載頁

2025-06-29 08:15本頁面

【導(dǎo)讀】成績進(jìn)行評(píng)估對(duì)于教育來說其重要性是不言而喻的。但是由于種種原因,要對(duì)學(xué)生的成。特別是在高校,學(xué)生成績管理工作量大,處理?xiàng)l件復(fù)雜,人工處。尤其是在網(wǎng)絡(luò)得到廣泛運(yùn)用的今天,構(gòu)建一個(gè)成績?cè)u(píng)估網(wǎng)絡(luò),可以更加快速有效的。實(shí)現(xiàn)這一系統(tǒng)功能,減輕高校的工作負(fù)擔(dān)。實(shí)現(xiàn),以及在系統(tǒng)實(shí)現(xiàn)過程中所遇到的一些技術(shù)問題和其解決方法。

  

【正文】 據(jù)庫的安全 構(gòu) 成了威脅 。而 JSP 提供的 JavaBean[6]則很好的解決了這樣問題, 只要使用 Jcreater 編譯后將包文件拷入“ ROOT/WEB— INF/classes”里面就可以供所有的頁面調(diào)用 。 ( Jcreater 是一個(gè)很好的 程序開發(fā)平臺(tái),在以后的工作中,作者都是使用 Jcreater 來進(jìn)行編程的) 167。 4. 2 登錄 模塊 設(shè)計(jì) 所有的用戶均通過同一登錄界面進(jìn)行登錄。在登錄時(shí),系統(tǒng)判斷其角色,然后依照try{ (“ ” )。} catch(ClassNotFoundException e){ (())。} try{ conn=(“ jdbc:odbc:school” ,” sa” ,” 111” )。 stmt=()。 rs=(“ select * from teacher” )。 while(()){ ((“ tno” ))。} }catch(SQLException e){ (())。} finally{ ()。 ()。}}% 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 其角色進(jìn)入到不同的操作主頁面。 該系統(tǒng)涉及到三個(gè)用戶角色 —— 管理員、學(xué)生、教師,每一種用戶所對(duì)應(yīng)的功能都不相同。學(xué)生只能對(duì)他自己的信息、成績進(jìn)行操作,而教師可以錄入成績。管理員除了成績管理之外,還對(duì)學(xué)生、教師的信息進(jìn)行管理。因此在設(shè)計(jì)登錄時(shí),設(shè)計(jì)了三個(gè)主頁面。 他們之間的流程如圖 所示 。 圖 系統(tǒng) 登錄 選擇流程 在登錄的時(shí)候,作者將用戶表中角色取出來存在一個(gè) session 里,(flag,flag),這里的 flag 是從數(shù)據(jù)庫中取出的 用戶角色,被加到了 session 的 ” flag” 里邊。然后通過一個(gè) response 對(duì)象將頁面跳轉(zhuǎn)到 ,并且將角色值傳過去: 然后在 通過這樣一段代碼 ,決定其該進(jìn)入哪一個(gè)主頁面: 返回登錄 未注冊(cè) 管理員 學(xué)生 教師 登錄失敗 登錄 界面 身份 驗(yàn)證 教師主頁面 學(xué)生主頁面 管理員主頁面 注冊(cè) (?flag=+flag+)。 % (GBK)。 String flag=(flag)。 if((student)){ //當(dāng)?shù)卿浻脩魹閷W(xué)生時(shí),進(jìn)入學(xué)生主頁面 ()。} 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 以下是這三個(gè)角色不同的用例圖,定義了 他們與系統(tǒng) 目標(biāo)之間的交互。 圖 管理員操作用例圖 else if((teacher)){ //當(dāng)?shù)卿浻脩魹榻處煏r(shí),進(jìn)入教師主頁面 ()。 } else if((manager)){ //當(dāng)?shù)卿浻脩魹楣芾韱T時(shí),進(jìn)入管理員主頁面 ()。 }% 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 圖 教師操作用例圖 圖 學(xué)生操作用例圖 167。 4. 3 成績管理模塊 在該系統(tǒng)中,最主要的部分就是對(duì)成績的管理 。管理員對(duì)成績的管理 可以在下面的用例圖 中看到 ,分別為:添加學(xué)生成績、修改學(xué)生成績、查詢學(xué)生成績、學(xué)生成績排名西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 28 查詢和鎖定狀態(tài)設(shè)定。 圖 167。 4. 3. 1 添加學(xué)生成績 圖 管理員添加學(xué)生成績界面 在這一部分,需要管理員輸入學(xué)號(hào)、課程號(hào)、成績以及選擇考試號(hào)(期中、期末)。該功能實(shí)現(xiàn)的程序流程如圖 所示。 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 圖 管理員添加學(xué)生成績 代碼流程圖 在添加學(xué)生成績時(shí),因?yàn)殇浫氤煽兌际菍?shí)時(shí)的,為了減少麻煩,打算將學(xué)期作為默認(rèn)值,自動(dòng)生成,這樣既統(tǒng)一了格式,也減少了錄入者的麻煩。但是在實(shí)現(xiàn)的時(shí)候卻遇到了問題。剛開始,考慮使用 JSP 取系統(tǒng)時(shí)間,但是得出的結(jié)果卻并不是系統(tǒng)的時(shí)間 ,而是一個(gè)不能理解的數(shù)字。后來改用 JavaScript 卻得到了正確的時(shí)間。通過查閱資料發(fā)現(xiàn),原來用兩種不同的語言取的是不同的系統(tǒng)時(shí)間。采用 JSP 取到的是 Web 服務(wù)器的時(shí)間,而 JavaScript 則是取的瀏覽器的時(shí)間。 因此要得到準(zhǔn)確的系統(tǒng)當(dāng)前的時(shí)間, 應(yīng)該 是選擇 JavaScript。 其代碼如下: Y N 開始 進(jìn)入添加學(xué)生成績界面 輸入學(xué)號(hào)、課程號(hào)、成績、 選擇 考試號(hào) 提交 輸入信息是否正確? 執(zhí)行插入操作 終止 function myterm(){ var dnow=new Date()。 var dyear=()。 var dmonth=()。 if(dmonth9){strterm=(dyear1)++dyear+2。} else{strterm=dyear++(dyear+1)+1。} =strterm。//給隱藏變量 term 賦值 } 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 167。 4. 3. 2 修改學(xué)生成績 修改學(xué)生成績是只有管理員才能進(jìn)行的。而他要修改的成績也必須是數(shù)據(jù)庫當(dāng)中已經(jīng)存在的。在設(shè)計(jì)的時(shí)候,作者也嚴(yán)格對(duì)其進(jìn)行控制,只有在知道學(xué)號(hào)和課程號(hào)的同時(shí)才能對(duì)成績進(jìn)行修改。 在這一部分首先需要對(duì)要修改的學(xué)生成績進(jìn)行查詢,然后再對(duì)查詢結(jié)果進(jìn)行修改。其代碼流程 如圖 所示。 圖 管理員修改學(xué)生成績代碼流程圖 其成績修改的界面如圖 所示。 圖 管理員修改學(xué)生成績操作界面 Y N 開始 進(jìn)入修改學(xué)生成績頁面 輸入學(xué)號(hào)、課程號(hào) 執(zhí)行查詢操作 是否找到查詢信息 ? 執(zhí)行修改操作 提交 終止 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 31 從圖 可以看出來,這是一個(gè)表格形式的輸出,而在其中加入了兩個(gè)文本框,用于存放學(xué)生的成績,并且可以更改。但是 在這里卻出現(xiàn)了一個(gè)問題,怎樣才能知道是修改的哪個(gè) 學(xué)生的成績呢 ? 如果將學(xué)生的學(xué)號(hào)也作為文本框輸出,用戶就可以對(duì)其進(jìn)行修改,但如果設(shè)為不可修改卻又不能實(shí)現(xiàn)值的傳遞 。最后讓作者發(fā)現(xiàn)了 hidden 這個(gè)表單元素。 hidden 在這之前作者從來都沒有聽說過, 以前用的教材中也 沒有提及。 在一個(gè)偶然的機(jī)會(huì) 作者 從一本參考資料上面看到了 hidden 的使用。它是表單中的一個(gè)隱藏域,可以實(shí)現(xiàn)表單的傳值,并且不會(huì)在界面上顯現(xiàn)出來。 在這里作者利用 hidden 傳遞了學(xué)號(hào)和課程號(hào)兩個(gè)變量。而 hidden 在之后的編程過程中也得到了很廣泛的應(yīng)用。 167。 4. 3. 3 成績查詢模塊 在成績查詢模塊當(dāng)中,管理員 首先要輸入需要查找的關(guān)鍵字的值,選定查詢類型和方式 ,然后點(diǎn)擊查詢按鈕進(jìn)行查詢。 圖 管理員查詢學(xué)生成績界面 供選擇的查詢類型包括:學(xué)號(hào)、學(xué)生姓名、所屬學(xué)院、班級(jí)、教工號(hào)、教師姓名、課程號(hào)、課程名、學(xué)期。 其代碼流程如 圖 所示。 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 32 圖 管理員查詢學(xué)生成績代碼流程圖 在輸出學(xué)生的成績之后,將對(duì)學(xué)生的成績進(jìn)行過 濾與統(tǒng)計(jì),以及表格輸出打印,這三項(xiàng)是該系統(tǒng)的重點(diǎn),也是難點(diǎn) 。 167。 4. 3. 3. 1 數(shù)據(jù)過濾 數(shù)據(jù)過濾是對(duì)已有的數(shù)據(jù)進(jìn)行有選擇的輸出,以方便用戶查看。 圖 學(xué)生成績過濾頁面 開 始 進(jìn)入成績查詢頁面 輸入 查詢 關(guān)鍵字 選擇查詢方式 模糊查 找 精確查找 選擇查詢類型 提交 輸入是否為空 ? 顯示查詢結(jié)果 終止 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 33 在這里,用戶可能只選擇其中的一個(gè)條件,或者都選 ,也沒指定的不全選時(shí)的先后次序 。所以在寫 SQL 語句的時(shí)候就要判斷多種情況,給編程帶來了難度。如何能夠把以前的查詢語句保留下來,并且在此基礎(chǔ)上加上過濾條件,過濾條件 的多少如何決定,在提交之后怎樣回到以前的頁面顯示過濾后的結(jié)果,都是要解決的問題。 并且由于成績顯示的頁面有多個(gè)頁面都要訪問,但它們所傳的值 的多少 卻是不同的。相應(yīng)成績顯示頁面上所取 的 值也就不相同了 ,如果采用同一取值指令就會(huì)造成空指針錯(cuò)誤 。為了解決這個(gè)問題,在每個(gè) 需要到該頁面的其他頁面上加了一個(gè) id,取出 id 號(hào)就可以判斷他們各自需要取哪些值,做哪些操作。過濾需要做的就是要在原來的 SQL 基礎(chǔ)上加條件。在具體實(shí)現(xiàn)時(shí),一個(gè)一個(gè)進(jìn)行判斷,主要代碼如下 : if((like)){word1=%+word1+%。} if((like)){word2=%+word2+%。} if((like)){word3=%+word3+%。} if(!()){ //判斷第一個(gè)條件是否選擇,如果是,進(jìn)行以下的操作 sql= and +sql+ +name1+ +tiaojian1+ 39。+word1+39。 if(!()){ //在第一個(gè)已選擇的情況下,看第二個(gè)是否被選中 sql= +sql+ +h1+ +name2+ +tiaojian2+ +39。+word2+39。 if(!()){//在第一、 二 都已經(jīng)選擇的情況下,看第三個(gè)是否被選中 sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。 }} else if(!()){//第一個(gè)選中,第二個(gè)沒有選中,查看第三個(gè) sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。 }} else if(!()){//第一個(gè)未選中,查看第二個(gè)條件是否被選中 sql= and +sql+ +name2+ +tiaojian2+ 39。+word2+39。 if(!()){//第二個(gè)選中,查看第三個(gè)是否選中 sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。}} 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 34 167。 4. 3. 3. 2 成績統(tǒng)計(jì) 成績統(tǒng)計(jì)是對(duì)所需要統(tǒng)計(jì)的成績找出最大值,最小值,計(jì)算平均值,統(tǒng)計(jì)各個(gè)不同的分?jǐn)?shù)段的數(shù)量,并且對(duì)期中和期末的數(shù)據(jù)進(jìn)行比較,得出之間的差值。并且根據(jù)結(jié)論繪出統(tǒng)計(jì)圖。對(duì)于學(xué)生與教師來說,他們的成績統(tǒng)計(jì)比較容易實(shí)現(xiàn)。學(xué)生的只需計(jì)算他的所有成績的分布情況,可以針對(duì)各個(gè)學(xué)期,也可以計(jì)算總體 成績分布, 并且生成總體統(tǒng)計(jì)圖和學(xué)期統(tǒng)計(jì)圖。對(duì)于教師,只需對(duì)他所需要統(tǒng)計(jì)的單門課程進(jìn)行統(tǒng)計(jì),相對(duì)學(xué)生來說更加容易。但是管理員的成績統(tǒng)計(jì)就比較麻煩了。因?yàn)槭墙⒃诔煽儾樵兊幕A(chǔ)上,所顯示的成績的范圍可大可小,它可以只是一個(gè)學(xué)生 的成績,可以是一個(gè)班的單科成績,可以是一個(gè)班的所有成績,也可以是一個(gè)學(xué)院的所有專業(yè),所有課程的成績。這就給統(tǒng)計(jì)帶來了難度。所以在進(jìn)行統(tǒng)計(jì)之前,首先設(shè)置了一個(gè)統(tǒng)計(jì)分組選擇界面 (如圖 )。 圖 管理員成績統(tǒng)計(jì)選擇分組界面 在這里管理員可以輸入他想統(tǒng)計(jì)的最小單位,在進(jìn)行統(tǒng)計(jì)的時(shí)候?qū)⒃谠瓉淼?SQL 語句后面加上 group by 語句即可。 而實(shí)現(xiàn)統(tǒng)計(jì)用 SQL 的 max, min, avg 就可以實(shí)現(xiàn)最大,最小,和平均值的計(jì)算。統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段的數(shù)量,將每一個(gè)值取出來,與各個(gè)分?jǐn)?shù)段進(jìn)行比對(duì),符合條件,就加一。在跳出 循環(huán)后將它們輸出。 else if(!()){//第一、二均未選種,查看第三個(gè)是否選中 sql= and +sql+ +name3+ +tiaojian3+ 39。+word3+39。 } if(!()){//查看排序的選擇情況 sql= +sql+ order by +name4+ +h4+。} 西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文) 35 下面圖示是對(duì)信息 0201 班學(xué)生的成績就每一門課的成績分布情況進(jìn)行統(tǒng)計(jì)。 圖 成績統(tǒng)計(jì)結(jié)果顯示頁面 在做完了統(tǒng)計(jì)之后,接下來便是實(shí)現(xiàn)統(tǒng)計(jì)圖。在 JSP 頁面實(shí)現(xiàn)動(dòng)態(tài)圖表有兩種方法 [7]: 一是插入 Applet 小程序。 二是通過 Java Bean 動(dòng)態(tài)生成圖象。前者是嵌在網(wǎng)頁中的 Java 小應(yīng)用程序,建立一個(gè)包含 Applet 的 JSP 頁面,通過 JSP 頁面中的 Java 腳本( scrilet)從文件或者數(shù)據(jù)庫中讀取所需要的數(shù)據(jù),把這些數(shù)據(jù)存放在相應(yīng)的變量或者數(shù)組中,之后,在 JSP 頁的 Applet 的 參數(shù)行中,用 param name=” sale” value=” %=data%” 把變量值傳給 Applet 進(jìn)行具體的繪制。但是, Applet 有一個(gè)缺點(diǎn)就是,不是每一個(gè)瀏覽器都能很好的支持 Applet。 由于 Applet 是下載到客戶端由瀏覽器執(zhí)行的 Java 代碼,在網(wǎng)頁上生成的圖象離不開一虛擬作圖環(huán)境,在必要時(shí)需要求經(jīng)常重繪;所以,不能將它象處理一般圖象那樣對(duì)它進(jìn)行存儲(chǔ)和打印,即不能對(duì) Applet圖形進(jìn)行打印和下載。 方法二是 通過 Java Bean 動(dòng)態(tài)生成圖象。即通過 Java Bean 或者 servlet 在 servlet端接受 JSP 或 HTML 頁遞交的數(shù)據(jù),然后動(dòng)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1