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

正文內(nèi)容

小型倉庫溫濕度監(jiān)測系統(tǒng)畢業(yè)設(shè)計說明書(已改無錯字)

2022-08-31 12:07:21 本頁面
  

【正文】 息表中的所有教工號。否則系統(tǒng)報錯。167。4.1.4數(shù)據(jù)庫連接代碼設(shè)計因為本系統(tǒng)功能的實現(xiàn)是建立在不斷地對數(shù)據(jù)庫進行操作的。而如果在每一個需要連接數(shù)據(jù)庫的程序中都加上如上的一段超長代碼,不僅加大了工作量,還降低了代碼的執(zhí)行效率,當(dāng)然也對數(shù)據(jù)庫的安全構(gòu)成了威脅。而JSP提供的JavaBean[6]則很好的解決了這樣問題,只要使用Jcreater編譯后將包文件拷入“ROOT/WEB—INF/classes”里面就可以供所有的頁面調(diào)用。(Jcreater是一個很好的程序開發(fā)平臺,在以后的工作中,作者都是使用Jcreater來進行編程的)167。4.2登錄模塊設(shè)計所有的用戶均通過同一登錄界面進行登錄。在登錄時,系統(tǒng)判斷其角色,然后依照其角色進入到不同的操作主頁面。 該系統(tǒng)涉及到三個用戶角色——管理員、學(xué)生、教師,每一種用戶所對應(yīng)的功能都不相同。學(xué)生只能對他自己的信息、成績進行操作,而教師可以錄入成績。管理員除了成績管理之外,還對學(xué)生、教師的信息進行管理。因此在設(shè)計登錄時,設(shè)計了三個主頁面。返回登錄未注冊管理員學(xué)生教師登錄失敗登錄界面身份驗證教師主頁面學(xué)生主頁面管理員主頁面注冊 系統(tǒng)登錄選擇流程在登錄的時候,作者將用戶表中角色取出來存在一個session里,(flag,flag),這里的flag是從數(shù)據(jù)庫中取出的用戶角色,被加到了session的”flag”里邊。 ,并且將角色值傳過去:(?flag=+flag+)。,決定其該進入哪一個主頁面:% (GBK)。String flag=(flag)。if((student)){ //當(dāng)?shù)卿浻脩魹閷W(xué)生時,進入學(xué)生主頁面()。}else if((teacher)){ //當(dāng)?shù)卿浻脩魹榻處煏r,進入教師主頁面()。}else if((manager)){ //當(dāng)?shù)卿浻脩魹楣芾韱T時,進入管理員主頁面()。}%以下是這三個角色不同的用例圖,定義了他們與系統(tǒng)目標(biāo)之間的交互。 管理員操作用例圖 教師操作用例圖 學(xué)生操作用例圖167。4.3成績管理模塊在該系統(tǒng)中,最主要的部分就是對成績的管理。管理員對成績的管理可以在下面的用例圖中看到,分別為:添加學(xué)生成績、修改學(xué)生成績、查詢學(xué)生成績、學(xué)生成績排名查詢和鎖定狀態(tài)設(shè)定。167。4.3.1添加學(xué)生成績 管理員添加學(xué)生成績界面在這一部分,需要管理員輸入學(xué)號、課程號、成績以及選擇考試號(期中、期末)。YN開始進入添加學(xué)生成績界面輸入學(xué)號、課程號、成績、選擇考試號提交輸入信息是否正確?執(zhí)行插入操作終止 管理員添加學(xué)生成績代碼流程圖在添加學(xué)生成績時,因為錄入成績都是實時的,為了減少麻煩,打算將學(xué)期作為默認(rèn)值,自動生成,這樣既統(tǒng)一了格式,也減少了錄入者的麻煩。但是在實現(xiàn)的時候卻遇到了問題。剛開始,考慮使用JSP取系統(tǒng)時間,但是得出的結(jié)果卻并不是系統(tǒng)的時間,而是一個不能理解的數(shù)字。后來改用JavaScript卻得到了正確的時間。通過查閱資料發(fā)現(xiàn),原來用兩種不同的語言取的是不同的系統(tǒng)時間。采用JSP取到的是Web服務(wù)器的時間,而JavaScript則是取的瀏覽器的時間。因此要得到準(zhǔn)確的系統(tǒng)當(dāng)前的時間,應(yīng)該是選擇JavaScript。其代碼如下: function myterm(){ var dnow=new Date()。 var dyear=()。 var dmonth=()。 if(dmonth9){strterm=(dyear1)++dyear+2。} else{strterm=dyear++(dyear+1)+1。} =strterm。//給隱藏變量term賦值 }167。4.3.2修改學(xué)生成績修改學(xué)生成績是只有管理員才能進行的。而他要修改的成績也必須是數(shù)據(jù)庫當(dāng)中已經(jīng)存在的。在設(shè)計的時候,作者也嚴(yán)格對其進行控制,只有在知道學(xué)號和課程號的同時才能對成績進行修改。在這一部分首先需要對要修改的學(xué)生成績進行查詢,然后再對查詢結(jié)果進行修改。YN 開始進入修改學(xué)生成績頁面輸入學(xué)號、課程號執(zhí)行查詢操作是否找到查詢信息?執(zhí)行修改操作提交終止 管理員修改學(xué)生成績代碼流程圖。 管理員修改學(xué)生成績操作界面,這是一個表格形式的輸出,而在其中加入了兩個文本框,用于存放學(xué)生的成績,并且可以更改。但是在這里卻出現(xiàn)了一個問題,怎樣才能知道是修改的哪個學(xué)生的成績呢?如果將學(xué)生的學(xué)號也作為文本框輸出,用戶就可以對其進行修改,但如果設(shè)為不可修改卻又不能實現(xiàn)值的傳遞。最后讓作者發(fā)現(xiàn)了hidden這個表單元素。hidden在這之前作者從來都沒有聽說過,以前用的教材中也沒有提及。在一個偶然的機會作者從一本參考資料上面看到了hidden的使用。它是表單中的一個隱藏域,可以實現(xiàn)表單的傳值,并且不會在界面上顯現(xiàn)出來。在這里作者利用hidden傳遞了學(xué)號和課程號兩個變量。而hidden在之后的編程過程中也得到了很廣泛的應(yīng)用。167。4.3.3成績查詢模塊 在成績查詢模塊當(dāng)中,管理員首先要輸入需要查找的關(guān)鍵字的值,選定查詢類型和方式,然后點擊查詢按鈕進行查詢。 管理員查詢學(xué)生成績界面供選擇的查詢類型包括:學(xué)號、學(xué)生姓名、所屬學(xué)院、班級、教工號、教師姓名、課程號、課程名、學(xué)期。 開始進入成績查詢頁面輸入查詢關(guān)鍵字選擇查詢方式模糊查找精確查找選擇查詢類型提交輸入是否為空?顯示查詢結(jié)果終止 管理員查詢學(xué)生成績代碼流程圖在輸出學(xué)生的成績之后,將對學(xué)生的成績進行過濾與統(tǒng)計,以及表格輸出打印,這三項是該系統(tǒng)的重點,也是難點。167。4.3.3.1數(shù)據(jù)過濾數(shù)據(jù)過濾是對已有的數(shù)據(jù)進行有選擇的輸出,以方便用戶查看。 學(xué)生成績過濾頁面在這里,用戶可能只選擇其中的一個條件,或者都選,也沒指定的不全選時的先后次序。所以在寫SQL語句的時候就要判斷多種情況,給編程帶來了難度。如何能夠把以前的查詢語句保留下來,并且在此基礎(chǔ)上加上過濾條件,過濾條件的多少如何決定,在提交之后怎樣回到以前的頁面顯示過濾后的結(jié)果,都是要解決的問題。并且由于成績顯示的頁面有多個頁面都要訪問,但它們所傳的值的多少卻是不同的。相應(yīng)成績顯示頁面上所取的值也就不相同了,如果采用同一取值指令就會造成空指針錯誤。為了解決這個問題,在每個需要到該頁面的其他頁面上加了一個id,取出id號就可以判斷他們各自需要取哪些值,做哪些操作。過濾需要做的就是要在原來的SQL基礎(chǔ)上加條件。在具體實現(xiàn)時,一個一個進行判斷,主要代碼如下:if((like)){word1=%+word1+%。}if((like)){word2=%+word2+%。}if((like)){word3=%+word3+%。}if(!()){ //判斷第一個條件是否選擇,如果是,進行以下的操作sql= and +sql+ +name1+ +tiaojian1+ 39。+word1+39。if(!()){ //在第一個已選擇的情況下,看第二個是否被選中sql= +sql+ +h1+ +name2+ +tiaojian2+ +39。+word2+39。if(!()){//在第一、二都已經(jīng)選擇的情況下,看第三個是否被選中sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。}}else if(!()){//第一個選中,第二個沒有選中,查看第三個sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。}}else if(!()){//第一個未選中,查看第二個條件是否被選中sql= and +sql+ +name2+ +tiaojian2+ 39。+word2+39。if(!()){//第二個選中,查看第三個是否選中sql= +sql+ +h2+ +name3+ +tiaojian3+ 39。+word3+39。}}else if(!()){//第一、二均未選種,查看第三個是否選中sql= and +sql+ +name3+ +tiaojian3+ 39。+word3+39。}if(!()){//查看排序的選擇情況sql= +sql+ order by +name4+ +h4+。}167。4.3.3.2成績統(tǒng)計成績統(tǒng)計是對所需要統(tǒng)計的成績找出最大值,最小值,計算平均值,統(tǒng)計各個不同的分?jǐn)?shù)段的數(shù)量,并且對期中和期末的數(shù)據(jù)進行比較,得出之間的差值。并且根據(jù)結(jié)論繪出統(tǒng)計圖。對于學(xué)生與教師來說,他們的成績統(tǒng)計比較容易實現(xiàn)。學(xué)生的只需計算他的所有成績的分布情況,可以針對各個學(xué)期,也可以計算總體成績分布,并且生成總體統(tǒng)計圖和學(xué)期統(tǒng)計圖。對于教師,只需對他所需要統(tǒng)計的單門課程進行統(tǒng)計,相對學(xué)生來說更加容易。但是管理員的成績統(tǒng)計就比較麻煩了。因為是建立在成績查詢的基礎(chǔ)上,所顯示的成績的范圍可大可小,它可以只是一個學(xué)生的成績,可以是一個班的單科成績,可以是一個班的所有成績,也可以是一個學(xué)院的所有專業(yè),所有課程的成績。這就給統(tǒng)計帶來了難度。所以在進行統(tǒng)計之前,首先設(shè)置了一個統(tǒng)計分組選擇界面()。 管理員成績統(tǒng)計選擇分組界面在這里管理員可以輸入他想統(tǒng)計的最小單位,在進行統(tǒng)計的時候?qū)⒃谠瓉淼腟QL語句后面加上group by語句即可。而實現(xiàn)統(tǒng)計用SQL的max,min,avg就可以實現(xiàn)最大,最小,和平均值的計算。統(tǒng)計各個分?jǐn)?shù)段的數(shù)量,將每一個值取出來,與各個分?jǐn)?shù)段進行比對,符合條件,就加一。在跳出循環(huán)后將它們輸出。下面圖示是對信息0201班學(xué)生的成績就每一門課的成績分布情況進行統(tǒng)計。 成績統(tǒng)計結(jié)果顯示頁面在做完了統(tǒng)計之后,接下來便是實現(xiàn)統(tǒng)計圖。在JSP頁面實現(xiàn)動態(tài)圖表有兩種方法[7]:一是插入Applet小程序。二是通過Java Bean動態(tài)生成圖象。前者是嵌在網(wǎng)頁中的Java小應(yīng)用程序,建立一個包含Applet的JSP頁面,通過JSP頁面中的Java腳本(scrilet)從文件或者數(shù)據(jù)庫中讀取所需要的數(shù)據(jù),把這些數(shù)據(jù)存放在相應(yīng)的變量或者數(shù)組中,之后,在JSP頁的Applet的參數(shù)行中,用param name=”sale” value=”%=data%”把變量值傳給Applet進行具體的繪制。但是,Applet有一個缺點就是,不是每一個瀏覽器都能很好的支持Applet。由于Applet是下載到客戶端由瀏覽器執(zhí)行的Java代碼,在網(wǎng)頁上生成的圖象離不開一虛擬作圖環(huán)境,在必要時需要求經(jīng)常重繪;所以,不能將它象處理一般圖象那樣對它進行存儲和打印,即不能對Applet圖形進行打印和下載。方法二是通過Java Bean動態(tài)生成圖象。即通過Java Bean或者servlet在servlet端接受JSP或HTML頁遞交的數(shù)據(jù),然后動態(tài)生成jpg或者gif等圖象。最后把編碼成功的圖象存儲在服務(wù)器端合適的文件夾中,并通過image src=””等HTML標(biāo)記將其置入網(wǎng)頁中的合適位置。使用Java Bean的一個好處時,資源可以實現(xiàn)共享,可以找一些已經(jīng)封裝好的包來實現(xiàn)圖象的生成。在該系統(tǒng)中,作者選擇了目前比較流行的JFreeChart圖表生成工具包,可以很容易的實現(xiàn)三維圖形。具體做法如下:一 在ROOT\:servletservletnameDisplayChart/servletnameservletclass/servletclass/servletservletmappingservletnameDisplayChart/servletname urlpattern/servlet/DisplayChart/urlpattern/servletmapping/servletmapping二 解壓下載的jfreechart工具包,將解壓后的jfreechart下lib目錄中的五個文件復(fù)制到項目的WEBINF\lib下。并且把包文件放到WEBINF\class文件中,如下載 。三 編寫程序:因為源程序比較長,所以只是節(jié)選其中的主要部分:以下這段是在程序的開始部分引進的類文件:%@ page contentType=text/html。charset=GBK%jsp:useBean id=grade scope=page class=///連接數(shù)據(jù)庫的Bean文件jsp:useBean id=byte1 scope=page class=///字符轉(zhuǎn)化%@ page import=.* %%@ page import=.* %%@ page import=.* %%@ page import=.* %%@ page import=.* %%@ page import= %%@pageimport= %%@ page import= %%@ page import= %%@ page import= %%@ page import= %生成餅圖://定義數(shù)組String[] area={60分以下,6070分,7080分,8090分,90分以上}。PrintWriter pw=null。DefaultPieDataset dataset=new DefaultPieDataset()。/
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1