版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 摘要……………………………………………………………………………………4</p><p> 1引言………………………………………………………………………………… 4 </p><p> 1.1在線論文管理系統(tǒng)的研究意義……………………………………………… 4</p
2、><p> 1.2在線論文管理系統(tǒng)的目的…………………………………………………… 4</p><p> 2系統(tǒng)說明…………………………………………………………………………… 4</p><p> 2.1 系統(tǒng)選擇…………………………………………………………………… 4</p><p> 2.1.1 動態(tài)網(wǎng)站設(shè)計技術(shù)分類………………………
3、…………………………4</p><p> 2.1.2 動態(tài)網(wǎng)站設(shè)計技術(shù)選擇…………………………………………………5</p><p> 2.2 開發(fā)平臺選擇…………………………………………………………………5</p><p> 2.2.1操作平臺的選擇………………………………………………………… 5</p><p> 2.2.2 Web
4、服務(wù)器軟件的選擇………………………………………………… 5</p><p> 2.2.3數(shù)據(jù)庫服務(wù)器選擇……………………………………………………… 6</p><p> 2.2.4 開發(fā)工具的選擇…………………………………………………………6</p><p> 3數(shù)據(jù)庫的設(shè)計……………………………………………………………………… 6</p>&l
5、t;p> 3.1數(shù)據(jù)庫設(shè)計…………………………………………………………………… 6</p><p> 3.2數(shù)據(jù)表設(shè)計…………………………………………………………………… 6</p><p> 3.2.1 用戶表……………………………………………………………………6</p><p> 3.2.2 教師表…………………………………………………………………
6、…7</p><p> 3.2.3 學生表……………………………………………………………………7</p><p> 3.2.4上傳下載表……………………………………………………………… 7</p><p> 3.2.5 完成任務(wù)表………………………………………………………………8</p><p> 3.2.6 成績表………………………
7、……………………………………………8</p><p> 4系統(tǒng)設(shè)計…………………………………………………………………………… 9</p><p> 4.1技術(shù)分析……………………………………………………………………… 9</p><p> 4.2系統(tǒng)結(jié)構(gòu)圖…………………………………………………………………… 9</p><p> 5系
8、統(tǒng)實現(xiàn)技術(shù)………………………………………………………………………11</p><p> 5.1 功能模塊簡介……………………………………………………………… 11</p><p> 5.2各個模塊的代碼說明……………………………………………………… 11</p><p> 5.2.1確定論文題目………………………………………………………… 11</p
9、><p> 5.2.2我的聯(lián)系信息模塊…………………………………………………… 11</p><p> 5.2.3上載電子版文獻綜述等模塊………………………………………… 11</p><p> 5.3教師模塊簡介……………………………………………………………… 11</p><p> 5.3.1 擬定論文題目等模塊……………………
10、…………………………… 11</p><p> 5.3.2 學生聯(lián)系信息等模塊………………………………………………… 12</p><p> 5.3.3 電子文獻綜述查收等模塊…………………………………………… 12</p><p> 6JSP連接數(shù)據(jù)庫…………………………………………………………………… 12</p><p> 7身
11、份驗證和個性化機制……………………………………………………………13</p><p> 8部署Servlet………………………………………………………………………14 9要點和關(guān)鍵點…………………………………………………………………… 14</p><p> 9.1在jsp中處理中文亂碼問題……………………………………………… 14</p><p> 9.
12、2上傳下載問題……………………………………………………………… 15</p><p> 10結(jié)束語…………………………………………………………………………… 16 </p><p> 11參考文獻………………………………………………………………………16</p><p> 12致謝……………………………………………………………………………17</p&
13、gt;<p> 13附錄……………………………………………………………………………18</p><p> 基于JSP的在線畢業(yè)論文管理系統(tǒng)</p><p> 摘要:隨著互聯(lián)網(wǎng)在學校和高校的普及,網(wǎng)上畢業(yè)論文管理系統(tǒng)成為教師管理論文的主要工具。本文闡述使用JSP技術(shù)開發(fā)高校畢業(yè)生論文管理系統(tǒng)的必要性和優(yōu)越性,探討該系統(tǒng)的設(shè)計思想、結(jié)構(gòu)、功能和實現(xiàn)方法、技術(shù)以及關(guān)鍵性問題。
14、</p><p> 關(guān)鍵詞:JavaBeans;Servlet;畢業(yè)論文管理系統(tǒng);JSP</p><p> Online Thesis Management System Based on JSP</p><p> Abstract: Along with the Internet popularization in the school and univer
15、sities, the on-line graduation thesis management system becomes the teacher manages the thesis of main tool. This article elaborates uses the JSP technology development universities graduate thesis management system the
16、necessity and the superiority, discusses this system the design thought, the structure, the function and the realization method, the technology as well as the crucial question.</p><p> Key words:JavaBeans;
17、Servlet; Thesis Management System; JSP</p><p><b> 1引言</b></p><p> 1.1 在線論文管理系統(tǒng)的研究意義 </p><p> 隨著最近幾年的高校擴招,越來越多的大學生從學校畢業(yè),給社會帶來巨大的就業(yè)壓力[1],同時,大學生的畢業(yè)論文質(zhì)量也隨之下降,這是一個不可忽
18、視的問題,建立高校畢業(yè)生在線畢業(yè)論文管理系統(tǒng)日趨重要和必要[2]。盡管大部分高校都有自己的學生管理系統(tǒng)或?qū)W籍管理系統(tǒng),但很少涉及在線畢業(yè)論文管理,應(yīng)該著手開發(fā)這套系統(tǒng),從而減少老師的負擔和提高工作的效率。</p><p> 1.2 在線論文管理系統(tǒng)的目的</p><p> 開發(fā)這套系統(tǒng)是為了不再讓教師管理學生論文停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人
19、力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。因此,作為高校運作的核心環(huán)節(jié)——高校論文管理無疑被提到一個迫切需要解決的議程上。系統(tǒng)可以把日常管理工作等內(nèi)容提升到網(wǎng)絡(luò)中來,使它得到歸攏,合并,減少分散方式。就有必要建立論文管理局域網(wǎng)絡(luò)系統(tǒng)。實踐證明,高校論文管理系統(tǒng)只有依托網(wǎng)絡(luò),充分利用當今高新科技發(fā)展資源,才能實現(xiàn)高校各個教師對學生論文管理進行很好的統(tǒng)一,查收和閱讀,并且保持數(shù)據(jù)的一致性,完整性和時效性,才能
20、理順工作關(guān)系,提高工作效率。</p><p><b> 2系統(tǒng)說明</b></p><p><b> 2.1 系統(tǒng)選擇</b></p><p> 2.1.1 動態(tài)網(wǎng)站設(shè)計技術(shù)分類</p><p> 就其實現(xiàn)技術(shù)而言,目前動態(tài)網(wǎng)站設(shè)計技術(shù)主要有:利用Perl/C++/Delphi等開發(fā)的CGI
21、,兩種有名的API-ISAPI/NSAPI,還有ColdFushion,以及最近幾年流行起來的3p技術(shù)-ASP,PHP,JSP; ASP-Active Server Page,由微軟公司開發(fā) ,是一個WEB服務(wù)器端的開發(fā)環(huán)境,主要采用腳本語言VBScript(或Javascript / perl等)作為自己的開發(fā)語言,可用ODBC或直接驅(qū)動法訪問Window平臺的數(shù)據(jù)庫。PHP-Person Server Page ,是由Rasmus個
22、人創(chuàng)立的一種跨平臺的服務(wù)器端的嵌入式腳本語言. 它大量地借用C, Java 和 Perl 語言的語法, 并耦合PHP自己的特性,.是一種很有個性的網(wǎng)站開發(fā)語言,它支持目前絕大多數(shù)數(shù)據(jù)庫。JSP-Java Server Pages , 是Sun公司推出的新一代站點開發(fā)語言,Sun 公司除Java 應(yīng)用程序 和 Java Applet 之外,又創(chuàng)立了JSP,其可以在Servelet和JavaBean的支持下使實現(xiàn)業(yè)務(wù)邏輯的代碼和控制業(yè)務(wù)流程
23、的代碼分離,使得開發(fā)更加的</p><p> 2.1.2動態(tài)網(wǎng)站設(shè)計技術(shù)選擇</p><p> 經(jīng)過對幾種流行的實現(xiàn)技術(shù)的優(yōu)缺點比較,再結(jié)合系統(tǒng)自身的功能需要,我們決定采用J2EE標準中的JSP技術(shù)實現(xiàn)本系統(tǒng)的開發(fā)。</p><p> 首先,系統(tǒng)具有跨平臺性,unix/linux服務(wù)器的性能更加優(yōu)良。JSP作為Java平臺的一部分,其擁有Java程序設(shè)計語言“
24、一次編寫,各處執(zhí)行”的特點。</p><p> 其次,系統(tǒng)開發(fā)職責的高度分離和代碼的可重用性。使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標識來設(shè)計和格式化最終頁面。使用JSP標識或者小腳本來產(chǎn)生頁面上的動態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封裝在標識和JavaBeans群組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端執(zhí)行。將核心邏輯封裝在標識和Beans中,那么其它人,如Web管理人員和頁面設(shè)計者,能夠
25、編輯和使用JSP頁面,而不影響內(nèi)容的產(chǎn)生。在服務(wù)器端,JSP引擎解釋JSP標識,產(chǎn)生所請求的內(nèi)容(例如,通過存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。絕大多數(shù)JSP頁面依賴于可重用且跨平臺的組件(如:JavaBeans或者Enterprise JavaBeans)來執(zhí)行應(yīng)用程序所要求
26、的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)</p><p> 2.2 開發(fā)平臺選擇</p><p> 2.2.1操作平臺的選擇</p><p> 本著界面友善、易操作和成本低廉的原則我們選擇Windows 20
27、00作為開發(fā)平臺。</p><p> 2.2.2 Web服務(wù)器軟件的選擇</p><p> 由于論文系統(tǒng)的特殊性,考慮到1. 系統(tǒng)的可擴展性和安全性;2. 系統(tǒng)的運行速度;3. 服務(wù)器的升級和更換等方面,所以采用免費的、性能卓越的、穩(wěn)定的和版本升級及時的Apache組織的Apache服務(wù)器+Tomcat服務(wù)器。</p><p> Apache的特點是簡單、速度
28、快、性能穩(wěn)定,并可做代理服務(wù)器來使用,并可以可以支持SSL技術(shù),支持多個虛擬主機。Tomcat是Sun和Apache合作做出來的JSPServer,支持Servlet 2.4 and JavaServer Pages 2.0等版本。Apache +Tomcat優(yōu)勢更加明顯,Apache處理靜態(tài)頁面,Tomcat處理JSP動態(tài)頁面</p><p> 2.2.3 數(shù)據(jù)庫服務(wù)器選擇</p><p&
29、gt; MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)可服務(wù)器。SQL是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/服務(wù)器結(jié)構(gòu)實現(xiàn)的,是有一個服務(wù)器守護程序mysqld和很多不同的客戶程序和庫組成的。</p><p> 總體來說,MySQL數(shù)據(jù)庫具有以下主要特點:</p><p> 1. 同時訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;</p><p>
30、 2. 可以保存超過50,000,000條記錄;</p><p> 3. 是目前市場上現(xiàn)有產(chǎn)品中運行速度最快的數(shù)據(jù)庫系統(tǒng); </p><p> 4. 用戶權(quán)限設(shè)置簡單、有效。</p><p> 2.2.4 開發(fā)工具的選擇</p><p> 我采用的是Macromedia Dreamweaver MX 2004和UltraEdit軟件開
31、發(fā),Dreamweaver主要開發(fā)界面,UltraEdit主要寫java文件。</p><p><b> 3數(shù)據(jù)庫的設(shè)計</b></p><p><b> 3.1數(shù)據(jù)庫設(shè)計</b></p><p> 一個成功的管理軟件,數(shù)據(jù)庫設(shè)計的好壞是一個關(guān)鍵。本系統(tǒng)采用以面向?qū)ο缶幊陶Z言Java為基礎(chǔ)的JSP技術(shù),更應(yīng)該注意到對
32、面向?qū)ο蟮闹С帧?lt;/p><p> 數(shù)據(jù)庫的設(shè)計思想為:1. 數(shù)據(jù)庫結(jié)構(gòu)清晰,便于實現(xiàn)OOP ;由于實現(xiàn)了應(yīng)用模塊對象對數(shù)據(jù)庫對象的完全映射,數(shù)據(jù)庫邏輯模型自然且直接地模擬現(xiàn)實世界的實體關(guān)系。2. 數(shù)據(jù)庫對象具有獨立性,便于維護;除了數(shù)據(jù)庫表對象與應(yīng)用模塊對象一一對應(yīng)外,在邏輯對象模型中我們沒有設(shè)計繼承等泛化關(guān)系,表類間的關(guān)系比較簡單,給以后數(shù)據(jù)庫日常維護工作帶來便利。3. 需求變更時程序與數(shù)據(jù)庫重用率高,修改
33、少;在映射應(yīng)用對象時,除關(guān)系映射規(guī)范化后可能出現(xiàn)一對多的表映射外,大多數(shù)應(yīng)用對象與表對象是一一對應(yīng)的。</p><p><b> 3.2 數(shù)據(jù)表設(shè)計</b></p><p> 我建的表有用戶表(admin),教師表(teacher),學生表(student),上傳下載表(upload),成績表(cj),完成任務(wù)表(wcrw)等。</p><p&
34、gt; 各表之間的聯(lián)系如下圖(3.2)</p><p><b> 3.2.1 用戶表</b></p><p> 用戶表是這個系統(tǒng)的重要表,用戶的權(quán)限由用戶表jb這個字段決定,它只能輸入teather,super,student三個值,由這三個值來決定這個用戶的權(quán)利。它的字段有:</p><p> create table admin(
35、 </p><p> xh char(10) not null,</p><p> password char(18) not null,</p><p> xm varchar(20) not null,</p><p> jb enum('student','teather
36、39;,'super') not null,</p><p> bj varchar(15) not null,</p><p> primary key(xh)</p><p><b> );</b></p><p> 其中,xh:學號 password:密碼 xm:姓名 jb:角色 bj:班級
37、</p><p><b> 3.2.2 教師表</b></p><p> 教師表是教師定制自己的論文題目,編制任務(wù)書和自己的題目是否已經(jīng)被別的學生選過了,它的字段有:</p><p> create table teather(</p><p> jsh char(10) not null,</p>
38、<p> zdjsxm varchar(20) not null,</p><p> jskt varchar(30) not null,</p><p> rws text,</p><p> xz enum('0','1') not null</p><p> primary ke
39、y(jsh)</p><p><b> );</b></p><p> 其中:jsh:教師號 zdjsxm:指導教師姓名 jskt:教師課題 rws:任務(wù)書 xz:是否選擇</p><p><b> 3.2.3 學生表</b></p><p> 學生表主要是顯示學生的選的課題和指導教師的姓名
40、,它有的字段如下:create table student(</p><p> xh char(10) not null,</p><p> xm varchar(20) not null,</p><p> bj varchar(15) not null,</p><p> zdjsxm varchar(20) not null,&
41、lt;/p><p> bylwtm varchar(20) not null,</p><p> lxxx varchar(15),</p><p> primary key(xh)</p><p><b> );</b></p><p> 其中:xh:學號 xm:姓名 bj:班級 z
42、djsxm:指導教師姓名 bylwtm:畢業(yè)論文題目 lxxx:聯(lián)系信息</p><p> 3.2.4 上傳下載表</p><p> 上傳下載表是學生在交各種文件時保存文件的路徑,主要是為指導老師能快速下載下來。它的字段有:</p><p> create table upload(</p><p> xh char(10),&l
43、t;/p><p> wlzs varchar(30),</p><p> sxdwmc varchar(30),</p><p> wwfy varchar(30),</p><p> sxjh varchar(30),</p><p> xtdm varchar(30),</p><p>
44、; azb varchar(30),</p><p> dzlw varchar(30),</p><p> dbhd varchar(30)</p><p> primary key(xh)</p><p><b> );</b></p><p> 其中:xh:學號 wlzs:文獻綜
45、述 sxdwmc:實習單位信息 wwfy:外文翻譯 sxjh:實習周記 xtdm:系統(tǒng)代碼 azd:安裝包 dzlw:電子論文 dbhd:答辯幻燈片 sxbg:實習報告 sxzj:實習總結(jié)</p><p> 3.2.5 完成任務(wù)表</p><p> 完成任務(wù)表是指導教師對學生各種任務(wù)是否合格來判斷的一個標準,它的字段如下:</p><p> create ta
46、ble wcrw(</p><p> xh char(10) not null,</p><p> wdlxx enum('0','1') not null,</p><p><b> ……</b></p><p> dbhd enum('0','1
47、9;) not null </p><p> primary key(xh) , </p><p><b> );</b></p><p> 其中:xh:學號 wcqk :選題 wlzs:文獻綜述 sxdwmc:實習單位信息 wwfy:外文翻譯 sxjh:實習周記 xtdm:系統(tǒng)代碼 azd:安裝包 dzlw:電子論文 dbhd
48、:答辯幻燈片 sxbg:實習報告 sxzj:實習總結(jié) dbhd:答辯幻燈片</p><p><b> 3.2.6 成績表</b></p><p> 成績表主要是教師對學生的評分,分為優(yōu)、良、中、差、四個等級,它的字段如下:</p><p> create table cj(</p><p> xh char(1
49、0) not null,</p><p> wxzscj char(2),</p><p> lwespf char(2),</p><p> lwyspf char(2),</p><p> lwzspf char(2),</p><p> primary key(xh)</p><p&
50、gt;<b> );</b></p><p> 其中:wxzscj: 文獻綜述評分lwyspf:論文一審評分 lwespf:論文二審評閱 lwzspf: 論文終審評閱。</p><p> 以上就我所建的表,他們之間存在著關(guān)系,彼此之間有著自己的任務(wù),能夠很好的把論文管理系統(tǒng)的數(shù)據(jù)庫后臺搭建起來</p><p><b> 4 系
51、統(tǒng)設(shè)計</b></p><p><b> 4.1 技術(shù)分析</b></p><p> 我們采用的是JSP+javaBean技術(shù)構(gòu)建的Web應(yīng)用程序(圖14),這種結(jié)構(gòu)相比純粹由JSP組成的應(yīng)用程序結(jié)構(gòu)有了很大的改進,充分利用了java面向?qū)ο笳Z言的優(yōu)點。</p><p><b> Request </b>
52、</p><p><b> Response</b></p><p> 圖14 JSP+javaBean技術(shù)構(gòu)建的Web應(yīng)用程序</p><p> 從這個圖種可以,業(yè)務(wù)邏輯和數(shù)據(jù)庫操作從JSP中分離出來,封裝在javabean中,這樣可以體現(xiàn)出眾多優(yōu)點:</p><p> 純凈的jsp頁面,因為業(yè)務(wù)邏輯和數(shù)據(jù)庫操
53、作已經(jīng)從jsp頁面中剝離出來,jsp頁面中只需要嵌入少量的java代碼甚至不使用java代碼。</p><p> 可重用的組件,設(shè)計良好的javabean可以重用,甚至可以作為產(chǎn)品銷售,在團隊協(xié)作的項目中,可重用的javabean將會大大減少開發(fā)人員的工作量,加快開發(fā)進度。</p><p> 方便進行調(diào)試,因為復(fù)雜的操作都封裝在一個或數(shù)個javabean中,錯誤比較容易定位。</
54、p><p> 易維護擴展,系統(tǒng)的升級或者更改往往集中在一組javabean中,而不用編輯所有的jsp頁面。</p><p><b> 4.2系統(tǒng)結(jié)構(gòu)圖</b></p><p> 在論文管理系統(tǒng)中,我們可以根據(jù)系統(tǒng)功能畫出我們的結(jié)構(gòu)圖。 結(jié)構(gòu)圖如下:</p><p> 在論文管理系統(tǒng)中,我們可以根據(jù)系統(tǒng)功能畫出我們的結(jié)
55、構(gòu)圖。 結(jié)構(gòu)圖如下:</p><p> 圖2在線畢業(yè)論文管理系統(tǒng)功能圖</p><p><b> 圖15系統(tǒng)結(jié)構(gòu)圖</b></p><p><b> 5系統(tǒng)實現(xiàn)技術(shù)</b></p><p> 5.1 功能模塊簡介</p><p> 論文管理系統(tǒng)由后臺管理、教師管理、
56、學生管理三個模塊組成。</p><p> 后臺管理包括:新聞管理和用戶管理</p><p> 教師管理包括:教師可用的功能模塊包括擬定論文題目、編制任務(wù)書、學生聯(lián)系信息、實習單位信息、電子文獻綜述查收、紙質(zhì)文獻綜述查收、文獻綜述評閱、電子論文查收、紙質(zhì)論文查收、論文一審評分、論文二審評閱 、外文翻譯查收 、實習周記查收 、實習報告查收、實習總結(jié)查收 、實習鑒定查收 、系統(tǒng)原代碼查收、可
57、安裝程序包查收 、答辯幻燈片查收、畢業(yè)答辯評分等</p><p> 學生模塊包括:學生管理模塊由確定論文題目、我的聯(lián)系信息、閱讀任務(wù)書、上載電子版文獻綜述、實習單位信息、上載電子版外文翻譯、上載電子版實習周記、上載電子版實習報告、上載電子版實習總結(jié)、上載系統(tǒng)原代碼、上載安裝軟件包、上載電子版論文、上載論文答辯幻燈片等模塊組成。</p><p><b> 5.2 系統(tǒng)流程圖&
58、lt;/b></p><p> 第0層DFD圖 教師人員維護學生信息和選題信息,并根據(jù)學生的選題相對應(yīng)的教師可確定該學生完成情況和成績;管理人員主要是錄入學生和老師的信息</p><p><b> 第0層DFD圖</b></p><p> 第1層DFD圖對第0層DFD圖中的一個加工"學生論文管理"進行展
59、開。</p><p> 數(shù)據(jù)字典以下列出"學生論文管理系統(tǒng)"的部分數(shù)據(jù)字典條目:</p><p> 5.2各個模塊的說明</p><p> 5.2.1確定論文題目</p><p> 確定論文題目是你一開始還沒有選題是用的模塊,選過題以后,你就不能在用它了 ,具體代參看附錄1.1</p><p&
60、gt;<b> 點擊時判斷</b></p><p><b> 圖一 選題圖 </b></p><p> 在javabean的Xs.java中方面代碼參看附錄1.2 </p><p> 5.2.2 我的聯(lián)系信息模塊</p><p> 我的聯(lián)系信息模塊是專門為指導提供聯(lián)系信息,參看附錄1.3
61、中的代碼。</p><p> javabean的Lxxx.java中方面代碼參看附錄1.4。</p><p> 5.2.3 上載電子版文獻綜述等模塊</p><p> 上載電子版文獻綜述模塊主要是學生寫好的東西上傳到服務(wù)器,在這個模塊中,我用了upload這個組件,現(xiàn)在我們只調(diào)用它已經(jīng)存在的屬性:參看附錄1.5中的代碼。</p><p>
62、; 其他模塊的上傳與這個是一樣的機制,只是在上傳的過程中,我們可以根據(jù)調(diào)用不同的頁面,上傳文件時取不一樣的名字,所以在這里我們不在重復(fù),upload.java這個文件主要的功能是把我們剛上傳的路徑寫入數(shù)據(jù)庫的upload表中對應(yīng)的字段。學生模塊的基本上就是這么多,只要實現(xiàn)一個,下面的就是稍微改改就可以實現(xiàn)其功能了!</p><p> 5.3 教師模塊簡介</p><p> 5.3.1
63、 擬定論文題目等模塊</p><p> 擬定論文題目和編制任務(wù)書的原理是一樣的,它首先是有form提交到本頁或另一頁,由提交的目的地接受信息,這頁處理的主要代碼參看附錄1.6。</p><p> 在javabean中Teather.java中的具體代碼參看附錄1.7。 5.3.2 學生聯(lián)系信息等模塊</p>&
64、lt;p> 在學生聯(lián)系信息,實習單位信息等兩個模塊當中,它是通過javabean調(diào)用出來查詢數(shù)據(jù),在jsp頁面中只是顯示數(shù)據(jù),參看附錄1.8。</p><p> javabean 中的jskt.java代碼參看附錄1.9: </p><p> 根據(jù)你提交時選的復(fù)選框,程序可以根據(jù)你選哪個,哪個沒有選進行判斷,然后添
65、加到數(shù)據(jù)庫,具體代碼參看附錄2.0:</p><p> 5.2.3 電子文獻綜述查收等模塊</p><p> 電子文獻綜述查收、電子論文查收、外文翻譯查收 、實習周記查收 、實習報告查收、實習總結(jié)查收 、系統(tǒng)原代碼查收、可安裝程序包查收 、答辯幻燈片查收等幾個模塊,他們的代碼基本上是一樣的,我們只舉出他們其中一個模塊的代碼,電子文獻綜述查收的具體代碼參看附錄2.1:</p>
66、<p> 下載界面請參看附錄2.1</p><p> 6 JSP連接數(shù)據(jù)庫</p><p> 把建立數(shù)據(jù)庫連接封裝成JavaBean[5]。使用時用別的java文件加載它即可。</p><p> 連接數(shù)據(jù)庫的代碼如下:</p><p> package test.data;</p><p>
67、import java.sql.*;</p><p> import java.io.*;</p><p> import com.mysql.jdbc.Driver;</p><p> public class Connectiondb{</p><p><b> /**</b></p><
68、p><b> *定義參數(shù)</b></p><p><b> */ </b></p><p> String sDBDriver = "com.mysql.jdbc.Driver";</p><p> Connection conn = null;</p><p>
69、 Statement stmt = null;</p><p> PreparedStatement prepstmt = null;</p><p> ResultSet rs = null; </p><p> String driverName="com.mysql.jdbc.Driver";</p><p>
70、; String dbName="shujuku";</p><p> String userName="chenhuayinyu";</p><p> String userPasswd="123456";</p><p> String sConnStr="jdbc:mysql://l
71、ocalhost/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode=true&characterEncoding=UTF-8";</p><p><b> /**</b></p><p> *s
72、tatement(更新和查詢)</p><p><b> */</b></p><p> public void Connectiondb()</p><p><b> {</b></p><p><b> try{</b></p><p>
73、Class.forName(sDBDriver);//創(chuàng)建驅(qū)動</p><p> conn=DriverManager.getConnection(sConnStr);//加載連接</p><p><b> }</b></p><p> catch(Exception e){</p><p> System.ou
74、t.println("DBConnect():"+e.getMessage());</p><p> } </p><p><b> }</b></p><p><b> }</b></p><p> 在其他的java文件如果想調(diào)用這個連接數(shù)據(jù)
75、庫的文件時,使用import test.data.Connectiondb就可以了,不用在編寫連接數(shù)據(jù)庫的代碼了!</p><p> 7 身份驗證和個性化機制</p><p> 目前,web資源的身份驗證典型、普遍的做法是要求用戶給出用戶名和正確的口令。然而如果只僅僅是這樣的安全設(shè)置,并不能達到該系統(tǒng)設(shè)計要求,有帳號才能訪問,或只要有帳號就可以訪問的安全機制都是不十分可靠的身分驗證機制
76、。比如就會發(fā)生這樣一些簡單的漏洞.可以直接在瀏覽器地址欄輸入某頁面文件名。就可繞開對用戶名的檢查而訪問了;用戶登錄后離開時忘記注銷。被cookie記錄了用戶信息,其他人(公用計算機)馬上就可以竊取信息。所以我們采用了如下一些辦法:</p><p> 不同的用戶能夠訪問的內(nèi)容類型是不同的,不同用戶的授權(quán)也是不同的,能夠享受到的網(wǎng)站服務(wù)也不同的。我們可以從數(shù)據(jù)庫中判斷該用戶是學生,老師還是管理員,請看如下代碼:&l
77、t;/p><p> <%@ page contentType="text/html;charset=GB2312" %></p><p> <%@ page import="test.login.Login" %> </p><p> <jsp:useBean id="login&qu
78、ot; class="test.login.Login" scope="session" ></p><p> </jsp:useBean></p><p> <% String d=login.getRealname(); </p><p> if (d.equals("student
79、"))</p><p><b> {</b></p><p> String str=response.encodeURL("13.htm");</p><p> response.sendRedirect(str); </p><p><b> } </b>&
80、lt;/p><p> else if(d.equals("teather"))</p><p><b> {</b></p><p> String str=response.encodeURL("../jszq/13.htm");</p><p> response.send
81、Redirect(str); </p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> String str=response.encodeURL("../admin/index
82、.jsp");</p><p> response.sendRedirect(str); </p><p><b> }</b></p><p><b> %></b></p><p> 如果別人會直接在瀏覽器上直接輸入某個文件,它會首先檢查用戶名,如果是用戶名是空,它回自動
83、跳回首頁,代碼如下:</p><p> <% //如果客戶直接進入該頁面將被轉(zhuǎn)向登錄頁面。</p><p> if(session.isNew())</p><p> {response.sendRedirect("../login.jsp"); </p><p><b> }</b>&
84、lt;/p><p> //如果沒有成功登錄將被轉(zhuǎn)向登錄頁面</p><p> String success=login.getSuccess();</p><p> if(success==null)</p><p> {success="";</p><p><b> } <
85、/b></p><p> if(!(success.equals("ok")))</p><p> {response.sendRedirect("../login.jsp"); </p><p><b> }</b></p><p><b> %>&
86、lt;/b></p><p> 8 部署Servlet</p><p> Servlet是使用Java Servlet應(yīng)用程序設(shè)計接口(AP1)及相關(guān)類和方法的Java程序[7]。Servlet程序在服務(wù)器端運行并隱藏在Servlet容器里。Servlet處理客戶端程序的請求并返回一系列結(jié)果,動態(tài)地生成Web頁面。JSP頁面中僅僅存放與表示層有關(guān)的內(nèi)容,也就是只放輸出HTML網(wǎng)頁
87、的部份。而所有的數(shù)據(jù)計算、數(shù)據(jù)分析、數(shù)據(jù)庫連接等處理.統(tǒng)統(tǒng)是屬于業(yè)務(wù)層.放在JavaBean或者Servlet中。JavaBean,Servlet在使用時,它們編譯后生成的.class文件都必須放在Tomcat服務(wù)器站點的WEB一INF目錄下,JavaBean就可以被JSP頁面直接調(diào)用了。但Servlet還必須在WEB—INF目錄下的web.xml文件進行注冊。如果不給WEB一INF目錄設(shè)置正常的權(quán)限。所有的class就會曝光。因此應(yīng)給
88、WEB—INF目錄設(shè)置訪問的權(quán)限.設(shè)置為不允許讀取只允許執(zhí)行。</p><p><b> 具體代碼如下:</b></p><p> <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Micr
89、osystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>My Web Application</display-name> <description> A application
90、 for test. </description> </web-app</p><p><b> 9 要點和關(guān)鍵點</b></p><p> 9.1在jsp中處理中文亂碼問題</p><p> 關(guān)于jsp亂碼問題,首先要看瀏覽器是否支持中文,得看瀏覽器的編碼是否設(shè)置好.或者干脆在jsp頁面頭上加上<%@page
91、 language="java" contentType='text/html; charset=GBK"%>或者<%@page language="java" contentType='text/html; charset=gb2312"%>.</p><p> 其實對一些什么做也無法消除的中文亂碼問題,就要考
92、慮下提交方式是get還是post,用post比get安全的多,因為get常常會因為瀏覽器的比兼容性而出現(xiàn)意想不到的亂碼,只要改成post,那么問題便解決啦.也即:doPost(HttpServletRequest request, HttpServletResponse response)</p><p> 如果非要用get的方法進行傳遞的話,那么可以這樣解決:</p><p> 打開
93、tomcat的server.xml文件,然后往其中加上URIEncoding=“GBK" .重啟tomcat就OK了.</p><p> 對于內(nèi)容的提交我們還可以像下面這樣設(shè)置,這樣提交的任何信息都能正確地顯示:</p><p> <%! //處理字符串的方法:</p><p> public String codeString(String
94、 s)</p><p> { String str=s;</p><p> try{byte b[]=str.getBytes("ISO-8859-1");</p><p> str=new String(b);</p><p> return str;</p><p><b>
95、 }</b></p><p> catch(Exception e)</p><p> { return str;</p><p><b> }</b></p><p><b> }</b></p><p><b> %></b&g
96、t;</p><p> 還要提到的一點是數(shù)據(jù)庫中的亂碼.當寫入時發(fā)生亂碼.解決辦法是配置一個filter. 代碼如下:</p><p> jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode=
97、true&characterEncoding=UTF-8";這樣也便解決數(shù)據(jù)庫中大部分的亂碼問題.</p><p><b> 9.2上傳下載問題</b></p><p> 我選的是Ntsky文件上傳組件。該文件上傳組件支持多種文件格式上傳處理,上傳圖片的有附加生成縮略圖功能,而且簡單易用,在下載的包里自帶了源代碼</p><p
98、><b> 該組件使用方法 :</b></p><p> 引用ntsky的file包<%@ page import="com.ntsky.file.*,java.util.*"%></p><p> FILE file = new FileHandle(); 創(chuàng)建文件處理對象</p><p> fi
99、le.initialize(pageContext); 系統(tǒng)參數(shù)的初始化</p><p> FileParam param = new FileParam(); 文件參數(shù)對象</p><p> param.setFileDir("dir1\\dir2\\dir3"); 允許在web發(fā)布目錄下,建立無限級的目錄結(jié)構(gòu),設(shè)置目錄的方法 dir1\\dir2\\dir3
100、或者 dir1/dir2/dir3</p><p> param.setFileName("fileNameA"); 允許設(shè)置文件名 (多文件上傳不支持更改文件名功能)</p><p> param.setFileSize(1000); 設(shè)置允許上傳的單個文件的大小,這里的1000代表1M</p><p> param.setFileTot
101、alSize(100000); 該目錄允許上傳的文件總大小</p><p> param.setFileType("txt,jpg,xml,gif,bmp,chm"); 設(shè)置上傳允許的文件格式</p><p> param.setFileNum(20); 設(shè)置上傳目錄最大的文件數(shù)</p><p> param.setPic(true); 設(shè)
102、置是否進行圖片縮放處理</p><p> 2、 file.setFileParam(param); //將文件參數(shù)提交給上傳類</p><p> 3、 int level = file.service(request) 執(zhí)行上傳,該方法有返回值</p><p><b> –1 上傳成功</b></p><p>&l
103、t;b> 0 代表錯誤未知</b></p><p> 1系統(tǒng)不支持上傳的文件格式</p><p> 2 上傳的文件超過單個文件允許上傳的大小</p><p> 3 上傳的文件超過總文件允許上傳的大小</p><p> 6) 上傳的文件超過該目錄允許上傳文件的總數(shù)</p><p><b
104、> 10 結(jié)束語</b></p><p> 三個月的畢業(yè)設(shè)計,雖說時間不長,可也經(jīng)歷了很多挫折和欣喜,收獲頗多,感受也頗多!最初的想法是web層用struts框架、中間層用Spring框架、持久層(數(shù)據(jù)庫層)用Hibernate框架,可是里面的知識我都是剛剛接觸,談不上了解,最后就以最初的想法開始系統(tǒng)的開發(fā)了??上ё詈蟀l(fā)現(xiàn)深陷“技術(shù)的焦油坑”不可自拔,按照我最初的進度計劃,工作進度應(yīng)該說是嚴
105、重滯后。不得已,最后我又改變了系統(tǒng)的整體架構(gòu),web層用struts和jsp, 中間層用JavaBeans和servlet,持久層也用JavaBeans。令人欣慰的是,最后還是比較好的實現(xiàn)了系統(tǒng)的功能。</p><p> 設(shè)計中我深知自己掌握的知識還遠遠不夠,掌握的一些理論知識應(yīng)用到實踐中去,總會出現(xiàn)這樣或那樣的問題,不是理論沒有掌握好,而是光知道書本上的知識是遠遠不夠的,一定要把理論知識和實踐結(jié)合起來。把學到
106、的知識應(yīng)用到時間中去,多做多練,才可以把理論的精華發(fā)揮出來。知識不是知道,了解就好,一定要去應(yīng)用它,發(fā)展它,讓它在現(xiàn)實生活中得到充分的應(yīng)用,從而解決一些問題,這才是學習的根本目的。而且知識又不是單一的,它是互相聯(lián)系的,學科與學科之間都有著內(nèi)在的聯(lián)系。計算機是一門非常復(fù)雜且龐大的學科,一項課題往往需要多項技術(shù)才可以完成的。在設(shè)計階段,通過對課題的深入分析與研究,迫使我對技術(shù)有了一定的了解。在遇到問題時,得到了指導老師與同學的悉心幫助,使我
107、感受到集體的力量是無窮的。</p><p><b> 致 謝</b></p><p> 首先非常感謝學院能開設(shè)這個課題,為我日后從事計算機方面的工作提供了經(jīng)驗,奠定了基礎(chǔ)。 本次畢業(yè)設(shè)計大概持續(xù)了半年的時間,現(xiàn)在設(shè)計完成了。剛拿到這個畢業(yè)設(shè)計題目時,覺得這個課題比較難。今天回過去看看,卻十分的欣慰,因為通過我的努力完成了。經(jīng)過這次畢業(yè)設(shè)計,我的能力有了很
108、大的提高,比如操作能力、分析問題的能力、合作精神、嚴謹?shù)墓ぷ髯黠L等方方面面都進步了。這期間凝結(jié)了很多人的心血,在此我表示由衷的感謝。沒有他們的幫助,我將無法順利完成這次設(shè)計。 首先,我要特別感謝**老師對我的悉心指導,在設(shè)計期間**老師幫助我收集文獻資料,理清設(shè)計思路,指導操作方法,并對我所做的畢業(yè)設(shè)計提出有效的改進方案。老師淵博的知識、嚴謹?shù)淖黠L、誨人不倦的態(tài)度和學術(shù)上精益求精的精神讓我受益終生。</p><
109、;p> 其次,學院在這方面也給我們提供了很大的支持和幫助,學院領(lǐng)導比較重視,給我們在網(wǎng)上發(fā)布最新的畢業(yè)設(shè)計資料,每個設(shè)計小組配有專門的指導老師,幫助我們能順利完成整個設(shè)計。對于學院和老師為我的畢業(yè)設(shè)計所提供的極大幫助和關(guān)心,在此我致以衷心的感謝!</p><p> 另外,還要感謝同學四年來對我的關(guān)心與支持,感謝各位老師在學習期間對我的嚴格要求。同時也要感謝身邊朋友的熱心幫助,沒有你們的支持與關(guān)心,就沒有
110、我今天的畢業(yè)設(shè)計!</p><p><b> 參考文獻:</b></p><p> 王湘平,王學斌. 論大學本科畢業(yè)論文(設(shè)計)的管理.湖南科技學院學報-2005(5)</p><p> 陳友華. 提高畢業(yè)論文(設(shè)計)質(zhì)量的探索與實踐.成都教育學院學報-2005(7)</p><p> 李明江. 基于JSP技術(shù)
111、的高校畢業(yè)生信息管理系統(tǒng).福建電腦-2005(9)</p><p> 張陽,李璐. 基于JSP的網(wǎng)絡(luò)作業(yè)管理系統(tǒng)的設(shè)計與實現(xiàn).遼寧教育行政學院學報-2004(5)</p><p> [5] 白毅. JSP訪問WEB數(shù)據(jù)庫.廈門科技-2005(3)</p><p> [6] 王昕. 用JavaBean實現(xiàn)畢業(yè)生管理系統(tǒng)中的畢業(yè)資格審查功能.丹東紡專學報-20
112、04(3)</p><p> [7] 劉劍. JSP網(wǎng)站開發(fā)與設(shè)計. 電腦知識與技術(shù)學術(shù)交流-2005(5)</p><p> [8] 楊曦,冉鳴. 淺談基于JSP技術(shù)的網(wǎng)上選課系統(tǒng)的設(shè)計.教育信息化-2005(7)</p><p> [9] 胡三林,覃敏. 對高校畢業(yè)論文工作的再思考.中國科學教育-2005.(7)</p><p&g
113、t; [10] 張振國,黃素萍. 基于JSP和數(shù)據(jù)庫技術(shù)的文件上傳. 兵工自動化-2005(2)</p><p> [11] QIN YE, M.D. DEVELOPMENT OF AN XML/JSP BASED HEALTH SURVEY BUILDER TOOL. April, 2002</p><p><b> 附錄</b></p><
114、;p><b> 1.1 </b></p><p> <%@ page contentType="text/html;charset=GB2312" %>//字體編碼</p><p> <%@ page import="test.login.Login" %>//包含文件</p>
115、<p> <%@ page import="test.login.Xs" %>//包含文件</p><p> <jsp:useBean id="xs" class="test.login.Xs" scope="page" ></jsp:useBean></p><p
116、><b> //實例化</b></p><p> <jsp:useBean id="login" class="test.login.Login" scope="session"></p><p> </jsp:useBean>//實例化</p><p&
117、gt; <jsp:setProperty name= "xs" property="xh" value="<%=</p><p> login.getLogname()%>"/>//設(shè)定屬性值</p><p> <% String tm=xs.Item(); //調(diào)用實例化的一個類中的方法&
118、lt;/p><p> if(tm==null)//判斷是否為空</p><p> { String str=response.encodeURL("xt.jsp");//設(shè)定轉(zhuǎn)向頁面</p><p> response.sendRedirect(str);//轉(zhuǎn)向此頁面</p><p><b> }</
119、b></p><p><b> else</b></p><p><b> {</b></p><p> String str=response.encodeURL("error.htm");//設(shè)定轉(zhuǎn)向頁面</p><p> response.sendRedire
120、ct(str); //轉(zhuǎn)向此頁面 </p><p><b> }</b></p><p><b> 1.2</b></p><p> package test.login;//存放在test文件夾下的login文件夾下</p><p> import test
121、.data.Connectiondb;//調(diào)用Connectiondb.class文件</p><p> import java.sql.*;//調(diào)用sql文件下所有的.class文件</p><p> public class Xs</p><p><b> { </b></p><p> String xh,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計
- 基于jsp在線考試系統(tǒng)畢業(yè)論文設(shè)計
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- jsp畢業(yè)論文管理系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 基于jsp的黨員管理系統(tǒng)畢業(yè)論文
- 基于jsp倉儲物資管理系統(tǒng)畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 基于jsp的bbs論壇管理系統(tǒng) 畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---基于jsp的圖書管理系統(tǒng)
- 基于jsp畢業(yè)論文模板
- jsp網(wǎng)站新聞管理系統(tǒng)---畢業(yè)論文
- jsp在線聊天室-畢業(yè)論文
- 基于jsp的員工考勤管理系統(tǒng)設(shè)計畢業(yè)論文
- 基于jsp的圖書館管理系統(tǒng)畢業(yè)論文
- 基于jsp的網(wǎng)上辦公系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng)
- 基于jsp的圖書館管理系統(tǒng) 畢業(yè)論文
評論
0/150
提交評論