版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p> 題目: 軟件工程網上輔助教學系統</p><p> 學 院 </p><p> 專業(yè)名稱 </p><p> 班級學號 </p><p> 學生姓名 </p&
2、gt;<p> 指導教師 </p><p> 二00 年 月</p><p><b> 摘要</b></p><p> 隨著計算機技術的飛速發(fā)展,信息網絡已成為社會發(fā)展的重要保證。如何以網絡為紐帶快速、高效、方便地實現知識傳遞,以現代化手段促進教學改革,是教育工作者要解決的問題。傳統的教學方式體現
3、出教師和學生不能同步的問題,現在有一種教學方式就是基于網絡的教學,它實現了在網絡上學生和教師互動。</p><p> 網上教學輔助系統是面向教師和學生的輔助系統, 基于JSP技術的網絡教學平臺是體現校園網的優(yōu)勢,通過此平臺,學生、老師可以不受時間、空間、地域的限制,進行教學互動。相比較傳統教學更容易提高教學效率。</p><p> 整個系統界面簡潔、操作方便,包含了用戶操作模塊:普通用
4、用戶登錄;學生提交作業(yè)、查看課件、提出問題和在線答題;教師發(fā)布課件、批改作業(yè)、更新試卷、解答問題等;還包含了管理員操作模塊:系統管理員登錄、維護等功能。</p><p> 本系統語言選擇java,具體采用JSP +SQL Server開發(fā)。系統的實現是在SQL Server數據庫上并基于B/S結構。</p><p> 關鍵詞:軟件工程;網上教學; JSP;B/S;SQL SERVER
5、2000</p><p><b> ABSTRACT</b></p><p> With the computer technically developing so fast, the information network has become the important guarantee that the society develop. To take
6、the network as the link fast, it is how highly effective,how to improve the reform of teaching, conveniently realizes the knowledge transmission. In the platform, the student may be spatial, the region limited, not reall
7、y realizing the on-line browsing course content, to complete the study work, function and so on .Now,there is a way of teaching students </p><p> The on-line teach assistant system faces to the teacher and
8、students’ network teaching system, In this platform system structure, the function has carried on the detailed analysis, and introduced in the design uses essential technology and could be unlimited time and district.Com
9、pared to old system,it can improve the efficiency better.</p><p> The system is succinct in every management, containing the general user and registration, search , examination and download. The students su
10、bmit the studywork, the examination class and the result. It focus on how to solve the problem that is hard to solve and it provides some ways about design idea. </p><p> The system adopts java ,JSP and
11、SQL Server 200 technology. The System adopts SQL Server database and based on the B / S structure. </p><p> Keywords: Software Project;Teaching Network; JSP;B/S;SQL SERVER 2000</p><p><b>
12、; 目 錄</b></p><p><b> 1. 引言</b></p><p> 1.1 課題的來源.意義和目標1</p><p> 1.2. 完成的內容與設計結果1</p><p> 1.2.1.設計的內容1</p><p> 1.2.2.設計結果2&l
13、t;/p><p> 2. 總體設計與實施方案</p><p> 2.1.總體設計3</p><p> 2.1.1.設計目標3</p><p> 2.1.2.系統結構3</p><p> 2. 1. 3.系統數據流圖…………………………………………………………………...4</p><p
14、> 2.2.實施方案4</p><p> 2.2.1. 設計環(huán)境需求與程序設計語言選擇4</p><p> 2.2.2.方案與實施步驟5</p><p> 2.2.2.1.設計方案………………………………………………………………………5</p><p> 2.2.2.2.實施步驟………………………………………………………
15、………………6 </p><p> 3. 系統的設計與實現/程序的編制</p><p> 3.1. 數據設計7</p><p> 3.1.1. 數據庫信息表設計7</p><p> 3.1.2. 數據庫的實現11</p><p> 3.2. 系統模塊的設計12</p><p&g
16、t; 3. 2. 1用戶操作模塊12</p><p> 3. 2. 2管理員操作模塊25</p><p> 程序的調試及故障分析</p><p> 4.1設計錯誤…………………………………………………………………………..28</p><p> 4.2配置錯誤…………………………………………………………………………..28<
17、;/p><p> 5. 設計的結果與討論</p><p> 5.1 系統完成結果…………………………………………………………………….29</p><p> 5.2 系統討論結果…………………………………………………………………….29</p><p> 6. 總結...................................
18、.............31</p><p> 參考文獻................................................32</p><p> 致 謝……………………………………………………………....33 </p><p><b> 1. 引言</b></p><p>
19、 1.1課題的來源,意義和目標</p><p> 近年來,隨著計算機的普及,管理系統的應用也得到迅速發(fā)展,計算機越來越廣泛的應用于各個領域。隨著學生人數的增多,傳統教學局限性,使得軟件工程網上教學輔助系統成為教學管理的迫切需要。</p><p> 傳統的教學方式表現出在老師和學生不能同步;例如:作業(yè)必須由人上交、提問只能在課堂上提出;這樣既浪費了各自的時間又使教學效率變得較低。而網上教
20、學輔助系統,實現了電子教學;它可以隨時隨地讓學生和老師進行互動。通過整個系統能時時監(jiān)控,以便隨時對教學進行管理,大大提高了管理效率、工作效率。</p><p> 網上教學輔助系統的目標就是學生和老師可以互動??梢詫崿F學生查看課件、上傳作業(yè)、在線提問、答題等功能;老師可以上傳課件、在線回答、更新試卷等功能;管理員可以更新用戶信息、維護等功能。</p><p> 1.2. 完成的內容與設計
21、結果</p><p> 1.2.1.設計的內容</p><p> 軟件工程網上教學輔助系統由教師教學系統、學生學習系統和教學管理系統三大模塊組成,這些模塊之間相互聯系,相互配合構成一個完整的網絡教學系統。</p><p><b> 主要設計的內容:</b></p><p> 1、教師教學系統與學生學習系統<
22、/p><p> 教師教學系統與學生學習系統的功能相對應,主要包含以下幾個模塊:</p><p> (1) 網上作業(yè):作業(yè)環(huán)節(jié)是對所學知識理解和鞏固的過程。</p><p> (2) 在線測試:教師可以完成試題添加,試題管理。</p><p> (3) 討論答疑 :在界面上采用了BBS形式,提問與回答的過程是異步的, 學生將學習中遇到的問題
23、用留言的形式公布在網上,教師通過此模塊進行答疑。教師也可以在網上發(fā)布討論題,引導學生進行學術研究和討論</p><p> (5) 網上交流:通過此模塊可以解決個別學生的概念模糊,解題思路混亂等問題。</p><p><b> 2、教學管理系統</b></p><p> 系統分為人員管理、課程管理、作業(yè)管理、考試管理和討論交流管理。<
24、/p><p> (1) 人員管理:包括系統管理員、教師和學生管理。其中管理員可以對所有人員進行添加、修改、刪除和查詢,同時還可以對教師的所有權限進行分配。</p><p> (2) 課程管理:包括課程添加、課程查詢和課件管理。</p><p> (3) 作業(yè)管理:可以查看、修改和刪除作業(yè)。</p><p> (4) 考試管理:試題添加、修
25、改和刪除。</p><p> 3、普通用用戶登錄;搜索課件、查看作業(yè)、下載課件等操作</p><p> ?。?)普通用用戶登錄;</p><p> 普通用戶可以登錄個人信息到軟件工程網上教學輔助系統,成為普通用戶。</p><p> ?。?)搜索課件、查看作業(yè)、下載課件等</p><p> 普通用戶登錄軟件工程網
26、上教學輔助系統以后可以進行搜索信息或者資料、查看信息或者資料、下載信息等功能,</p><p> 4、系統管理員登錄、維護等功能。</p><p> 系統管理員在軟件工程網上教學輔助系統上登錄、維護信息的等功能。</p><p><b> 5、 其他基本功能</b></p><p> 系統同時要具備其他的系統的基
27、本功能:新用戶添加,用戶登錄,用戶退出、刪除用戶等</p><p> 1.2.2.設計結果</p><p> 完成的軟件工程網上教學輔助系統是提供給用戶的一個查看教學的平臺,界面簡約、明快、方便,功能是學生、老師可以在線操作。例如:學生查看課件、老師上傳課件。</p><p> 2. 總體設計與實施方案</p><p><b>
28、; 2.1.總體設計</b></p><p> 2.1.1.設計目標</p><p> 整個系統界面簡潔、操作方便,包含了普通用用戶登錄;搜索課件、查看課件、下載課件等操作;學生提交作業(yè)、查看課件、提問和在線答題;教師發(fā)布課件、查看作業(yè)、更新試卷、解答問題;系統管理員登錄、維護等功能。</p><p> 2.1.2.系統結構</p>
29、<p> 本系統分為三大塊:教師、學生、管理員系統;模塊結構如下:</p><p><b> 圖1系統模塊</b></p><p> 2.1.3.系統結構數據流圖:</p><p> 數據流圖表現了用戶、系統、數據庫的關系。</p><p><b> 圖2數據流圖</b><
30、;/p><p><b> 2.2.實施方案</b></p><p> 2.2.1. 設計環(huán)境需求與程序設計語言選擇</p><p> 為了開發(fā)一個安全、穩(wěn)定的系統,選擇以下開發(fā)平臺:</p><p> 硬件環(huán)境:建議使用CPU cellon1.7G、內存256以上的機器,因為J2EE和JAVA BEEN很占內存運行起
31、來確實不容樂觀。</p><p> 軟件環(huán)境: jDK1.5、Eclipse、MS SQL SERVER 2000、Dreamweaver MX、tomcat5.5</p><p><b> 等;</b></p><p> 本系統采用MS SQL SERVER 2000作為后臺數據庫,最初擬定的數據庫選擇有MS SQL Server、OR
32、ACLE、BEA的PointBase。 因為整個系統在windows下開發(fā), ORACLE針對小型系統又相對較臃腫,而且我相對最熟悉且簡單的MS SQL SERVER 2000,所以后臺數據庫就選擇了MS SQL SERVER 2000;</p><p> 程序設設計語言為:JSP、J2EE</p><p> 1.J2EE技術,也就是Java 2 Platform Enterprise
33、 Edition,即Java2企業(yè)版。它是由Sun公司發(fā)起的,J2EE是現在市場上的主流產品。J2EE標準是過去幾年中開發(fā)的許多重要應用最終促成的一個與廠家無關的公共標準。它將許多分散的Java技術整合到一起,組合成一個完整的企業(yè)標準。</p><p> 本系統設計使用瀏覽器+jsp(servlet)+SQL SEVER</p><p> Servlet及JSP</p>
34、<p> Servlet及JSP都是基于Java的技術。Servlet是用來擴展Web服務器功能的網絡組件,它基于請求/響應機制。JSP和Servlet非常相似,但JSP并不是純Java代碼。</p><p> 本系統采用三層結構: </p><p> 三層客戶機/服務器應用程序使用一個中間或中間層,應用程序服務器,它在客戶機應用程序和后端數據庫之間操作。中間層存儲了系統的
35、商業(yè)邏輯,并協調客戶機上與后端數據庫交互的顯示?!?lt;/p><p> 使用三層體系結構是出于以下兩個動機: 改進的可伸縮性、可用性和性能</p><p> 2、JSP技術:JSP是一種卓越的Java技術,它基于強大的Java語言,可在任何Web或應用服務器上運行,與Java Enterprise API(Java 企業(yè)應用編程接口)緊密結合,可快速創(chuàng)建高性能的Web應用程序。它將內容
36、的生成和顯示進行分離,使Web開發(fā)人員能專注于應用邏輯的處理;利用可重用的組件(Java Btens\EJB),加快了總體開發(fā)速度,并提高了系統質量,采用標識簡化頁面編程,降低了開發(fā)人員的難度。</p><p> 3、 XML與HTML技術:XML和HTML一樣屬于標記語言,可以通過標記來描述數據的結構,并且它允許用戶自行視描述數據的需要,隨意地制定不同的標記,這和HTML有著極大的差別,除此之外,XML不同于
37、HTML對于所有的標記都已經定義了顯示格式的意義, </p><p> 4. SQL Server</p><p> SQL Server 是一個關系數據庫管理系統。SQL Server 2000, 是Microsoft 公司推出的SQL Server 數據庫管理系統的新版本。它增加了許多更先進的功能,具有使用方便、可伸縮性好、與相關軟件集成程度高等優(yōu)點。運行Microsoft Win
38、dows 2000 的大型多處理器的服務器等多種平臺使用。</p><p> 2.2.2.方案與實施步驟</p><p> 2.2.2.1設計方案</p><p> 利用B/S結構:即Browser/Server(瀏覽器/服務器)結構,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分
39、事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂3-tier結構。B/S結構,用通用瀏覽器就實現了原來需要復雜專用軟件才能實現的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統構造技術。隨著Windows 98/Windows 2000將瀏覽器技術植入操作系統內部,這種結構更成為當今應用軟件的首選體系結構。顯然B/S結構應用程序相對于傳統的C/S結構應用程序將是巨大的進步。</p><p> 利用J
40、SP編程技術及SQL數據庫管理與建立,來實現兩者的鏈接,并且運用SQLSERVER語言實現對其數據庫進行訪問或者修改。</p><p> 2.2.2.2實施步驟</p><p> 1.根據網上教學輔助系統工程特點,制定出用于軟件工程的教學方案</p><p> 2.依據總體方案對系統的設計進行更完善的修改。</p><p> 3.做出
41、系統的概要設計,并對系統進行分析和可行性實驗。</p><p> 4.對系統進行具體的實現,模塊的聯接。</p><p><b> 5.測試并完善。</b></p><p> 3. 系統的設計與實現/程序的編制</p><p><b> 3.1. 數據設計</b></p>&l
42、t;p> 3.1.1. 數據庫信息表設計</p><p> 由于軟件工程網上教學輔助系統要實現,整個數據數據信息都要存儲、更新;課件資源等信息都是動態(tài)變化的。這涉及多個頁面、多個功能,所有的操作都要與數據庫聯系。系統為這些,動態(tài)信息設計了以下主要數據庫表:</p><p> 人員表:存儲登錄軟件工程網上教學輔助系統個人信息。Id為編號、name為名稱、</p>&
43、lt;p> Password為密碼、sex為性別、department為所在系、jiguan為籍貫、tel為電話、</p><p> E_mail為郵箱、mark為標記。</p><p><b> 表3.1人員表</b></p><p> 課件表:存儲每門課程的課件存放路徑及課程的基本信息。Id為編號、Coursewarename
44、為課件名稱、addtime為添加時間、filename為系統文件的名稱、</p><p> Path為上傳課件的路徑、teacherid為老師的編號、remark為課件的標記。</p><p><b> 表3.2課件表</b></p><p> 試卷表:存儲試卷信息。Id為試卷的編號、papersname為試卷名稱、addtime添加時間
45、、remark為試卷標記。</p><p><b> 表3.3試卷表</b></p><p> 作業(yè)表:用于存放教師布置的課后作業(yè)。字符為:作業(yè)名稱、時間、路徑等信息。</p><p> Id為作業(yè)編號、 homeworkname為作業(yè)的名稱、 addtime為上傳時間、 filename為在系統文件的名稱、 path為上傳文件的路徑、
46、stuid為學生的編號、 remark為作業(yè)標記、 isRead為是否閱讀。</p><p><b> 表3.4作業(yè)表</b></p><p> 問題:用于存放學生的提問問題和老師解答問題的表。</p><p> Id為編號、 title為標題、 content為問題內容、 addtime為上傳時間、 stuid為學生的編號、 isres
47、olved為是否解決、 answertitle為答案標題、 answercontent回答內容、 teacherid為老師編號。</p><p><b> 表3.5問題表</b></p><p> 考試信息表:用于存放考試內容。Id為編號、 papersid為試卷編號、 title試卷標題、 type類型 optionA、B、C、D為選項、 answer為答案。&
48、lt;/p><p><b> 表3.6考試信息表</b></p><p> 管理員:用于存放管理員信息。Id 為管理員編號、password為密碼。</p><p><b> 表3.7管理員表</b></p><p> 答案表: 用于存放學生在線做答的答案信息。Id為編號、 quesid為問題編
49、號、 answer為答案、 stuid 為學生編號、pspersid為試卷編號。</p><p><b> 表3.8考試答案表</b></p><p> 課程表:用于存儲課程信息 id為課程編號、 name為課程名稱、 dep為系、 mark 為標記、detail為課程介紹。</p><p><b> 表3.9課程表</b
50、></p><p> 教師表:用于存儲教師個人信息。Id為編號、 name為名稱 title為職稱、 password為密碼。</p><p> 表3.10教師信息表</p><p> 上傳信息表:用于存放上傳文件本地的路徑信息。Id為編號、 wid_name為文件所在大的名稱、 path為路徑、 min_path為具體路徑、 sizes為大小、 tim
51、es為時間、 ip為上傳者的機IP</p><p> 表3.11上傳信息表</p><p> 3.1.2. 數據庫的實現</p><p> 上述的數據表存儲信息,系統進行數據庫連接具體實現要核心代碼:</p><p> public class DataBaseConnection</p><p><b&
52、gt; {</b></p><p><b> /**</b></p><p> *一個靜態(tài)方法,返回一個數據庫連接</p><p> *這樣達到了對數據庫統一控制的目的</p><p><b> */</b></p><p> //#MySQL 數據庫
53、連接信息</p><p> //#MySQL 數據庫驅動程序</p><p> //String MySQLDriver="org.gjt.mm.mysql.Driver"</p><p> //#MySQL數據庫連接字符串。</p><p> //#upload 為數據庫名,user為登錄用戶名,password
54、為登錄密碼。</p><p> //String MySQLURL="jdbc:mysql://localhost:3306/upload?user=sa&password=&useUnicode=true&characterEncoding=GBK"</p><p> //#SQL Server 數據庫連接信息</p><
55、;p> //#SQL Server 驅動程序</p><p> //String SQLDriver="net.sourceforge.jtds.jdbc.Driver";</p><p> //#SQL Server 數據庫連接字符串</p><p> //#upload 為數據庫名,user 為登錄用戶名,password 為登
56、錄密碼。</p><p> //String SQLURL="jdbc:jtds:sqlserver://localhost:1433/upload;user=sa;password="; </p><p> public static Connection getConnection()</p><p><b> {<
57、/b></p><p> Connection con=null;</p><p> String SQLDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";</p><p> String SQLURL="jdbc:microsoft:sqlserver://loca
58、lhost:1433;DatabaseName=upload;user=sa;password=123456";</p><p><b> try</b></p><p><b> {</b></p><p> Class.forName(SQLDriver).newInstance();</p>
59、;<p> con=DriverManager.getConnection(SQLURL);</p><p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p><p> e.printStackTrac
60、e();</p><p><b> }</b></p><p> return con;</p><p><b> }</b></p><p><b> };</b></p><p> //在其他文件里面就可以直接調用Connection co
61、n=DataBaseConnection.getConnection();</p><p><b> 來獲得數據庫的連接</b></p><p> 3.2. 系統模塊的設計</p><p> 本系統具體分為:用戶操作、管理員操作模塊</p><p> 3.2.1用戶操作模塊</p><p>
62、; a 用戶的登錄模塊</p><p> 用戶可以注冊成為系統用戶,填寫相應的個人信息;系統也要為用戶提供一個以用戶身份登陸的接口;當用戶個人信息需要修改時,如地址變更等,應能及時更改,這點暫有管理員代為修改。</p><p> 用戶登錄的核心代碼:</p><p> jsp:useBean id="ss" scope="pa
63、ge" class="stu.login">//引用login類</p><p> <jsp:setProperty name="ss" property="*" /></p><p> </jsp:useBean></p><p> <jsp:useBe
64、an id="db" scope="page" class="stu.sqlBean"/></p><p><b> <%</b></p><p> String sql="";</p><p> String kind=ss.getKind()
65、;</p><p> String pw="";</p><p> ResultSet rs =null;</p><p> String id=ss.getId();</p><p> System.out.println("進入驗證");</p><p> sql=
66、"select password from "+kind+" where id='"+id+"' ";//SQL用查詢的語句</p><p> System.out.println();</p><p> rs=db.executeQuery(sql); //查詢用戶信息</p>&l
67、t;p> if(rs.next()){</p><p> pw=rs.getString("password").trim();}</p><p> if(ss.getPassword().trim().equals(pw)) //判斷用戶是否登錄成功</p><p><b> { </b></p&
68、gt;<p> System.out.println("進入驗證====通過驗證");</p><p> session.setAttribute("id",String.valueOf(id)); //在session中緩存用戶信息</p><p> int flag=ss.getFlag();</p><p
69、> session.setAttribute("flag",String.valueOf(flag));</p><p> response.sendRedirect("main.jsp?flag="+flag);//重定向用戶請求</p><p> out.print(flag);</p><p><b&g
70、t; }</b></p><p><b> else {</b></p><p> String message= "登陸失敗,用戶名或密碼有誤??!";</p><p> session.setAttribute("error",String.valueOf(message));<
71、;/p><p> response.sendRedirect("index.jsp?error='error'");}</p><p><b> %></b></p><p> 用戶可以在本頁面登錄:</p><p><b> 圖3.1用戶登錄</b>
72、</p><p> 用戶登錄后的主頁面為下圖,此為系統的主界面;用戶可以在這里進行具體操作:</p><p> 圖3.2用戶登錄后主頁面</p><p> c 查詢課件、下載課件等功能</p><p> 普通用戶可以在軟件工程網上教學輔助系統上查詢課件、下載課件等功能</p><p><b> 查詢
73、的代碼:</b></p><p> String search=request.getParameter("search");//獲取參數</p><p> String searchby=request.getParameter("searchby");</p><p> String textvalue=
74、request.getParameter("textvalue");</p><p> ResultSet rs=null; </p><p> if(search!=null) //判斷輸入查詢值不為空</p><p><b> { </b></p><p> if(textvalue
75、==null||textvalue.equals(""))//未輸入查詢條件,默認為查詢全部信息</p><p> rs=db.executeQuery("select * from homework"); //從db數據表中獲值</p><p><b> else{</b></p><p> if
76、(searchby.trim().equals("0")) //查詢條件為課件編號</p><p><b> {</b></p><p> rs=db.executeQuery("select * from homework where id="+textvalue);//查詢相應信息</p><p>
77、; }else if(searchby.trim().equals("1"))//查詢條件為課件名稱</p><p><b> {</b></p><p> rs=db.executeQuery("select * from homework where homeworkname='"+textvalue+&quo
78、t;'");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> rs=db.e
79、xecuteQuery("select * from homework");</p><p> ResultSetMetaData rsmd = rs.getMetaData();</p><p> int numberOfColumns = rsmd.getColumnCount();</p><p> int ccc=0;</p&
80、gt;<p> while(rs.next()){</p><p><b> ccc++;</b></p><p> id=rs.getString(1);</p><p> String url=rs.getString(5); //獲取相對應的值</p><p> String full
81、url=request.getRealPath("/")+url;</p><p> String filename=rs.getString(4);</p><p><b> 查詢課件的頁面為:</b></p><p> 圖3.3查詢課件頁面</p><p> 學生可以在網上下載老師發(fā)的課件
82、,可以了解課程內容。</p><p><b> 下載的代碼:</b></p><p> byte[] buffer = new byte[4096];//緩存區(qū)</p><p> BufferedOutputStream output = null;</p><p> BufferedInputStream in
83、put = null;</p><p><b> try {</b></p><p> output = new BufferedOutputStream(response.getOutputStream());//創(chuàng)建輸出流</p><p> input = new BufferedInputStream(new FileInputSt
84、ream(filefullname));</p><p> int n = (-1);</p><p> while ((n = input.read(buffer, 0, 4096)) > -1) {</p><p> output.write(buffer, 0, n);//循環(huán)讀入輸入流中的數據并由輸出流輸出</p><p>
85、;<b> }</b></p><p> response.flushBuffer();//清除緩存</p><p><b> }</b></p><p> catch (Exception e) {</p><p><b> } </b></p>&l
86、t;p> finally { //關閉輸入、輸出流</p><p> if (input != null) input.close();</p><p> if (output != null) output.close();</p><p><b> }</b></p><p> 學生下載課件的
87、頁面為:</p><p> 圖3.4下載課件頁面</p><p> d. 學生提交作業(yè)、查看課件、提問和在線答題</p><p> 學生登錄軟件工程網上教學輔助系統以后可以進行提交作業(yè)、查看課件、提問和考試等功能。</p><p> 上傳中用到jspsmartupload,jspSmartUpload是由www.jspsmart.co
88、m網站開發(fā)的一個可免費使用的全功能的文件上傳下載組件,適于嵌入執(zhí)行上傳下載操作的JSP文件中。</p><p> 上傳時就是上傳連接數據庫的核心代碼為:</p><p> con=DataBaseConnection.getConnection();//連接數據庫</p><p> Statement stmt=con.createStatement();//
89、創(chuàng)建stmt語句</p><p> String sql1="select count(*) from up_imges";//定義SQL語句</p><p> ResultSet rs=stmt.executeQuery(sql1);//執(zhí)行查詢操作</p><p> rs.next();</p><p> su
90、m=rs.getInt(1);//獲取總行數</p><p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p><p> e.printStackTrace();</p><p><b&g
91、t; }</b></p><p> if(sum>=1)</p><p><b> {</b></p><p> con=DataBaseConnection.getConnection();</p><p> Statement stmt=con.createStatement();<
92、/p><p> String sql2="select top "+spage+" * from up_imges";</p><p> ResultSet rs2=stmt.executeQuery(sql2);</p><p> while(rs2.next())</p><p><b>
93、; {</b></p><p> if(n>(cpage-1)*ipage-1)</p><p><b> {</b></p><p><b> m++;</b></p><p> int id=rs2.getInt(1);</p><p> S
94、tring wid_name=rs2.getString(2);//獲取查詢數據</p><p> String path=rs2.getString(3);</p><p> String min_path=rs2.getString(4);</p><p> int size=rs2.getInt(5);</p><p> Str
95、ing time=rs2.getString(6);</p><p> String ip=rs2.getString(7);</p><p> 學生上傳作業(yè)的頁面:</p><p> 圖3.5上傳作業(yè)頁面</p><p> 學生可以在線答題,下面就是學生在線打開的試卷并作答的頁面:</p><p> 圖3.
96、6下線答題頁面</p><p> e 教師發(fā)布課件、批改作業(yè)、試卷、解答問題</p><p> 教師登錄軟件工程網上教學輔助系統以后可以進行發(fā)布課件、批改作業(yè)、考試內容和時間、解答問題</p><p> 更新信息的核心代碼:</p><p> String id=request.getParameter("id"
97、);//獲取參數</p><p> String admin_id = (String)session.getAttribute("id"); //從session中獲取用戶信息</p><p> if(admin_id==null){response.sendRedirect("login.jsp");}//重定向</p><
98、;p> String insert=request.getParameter("insert");</p><p> if(insert!=null){</p><p> String name=request.getParameter("name");</p><p> String remark=reques
99、t.getParameter("remark");</p><p> String sql="update papers set papersname='"+name+"',remark='"+remark+"' where id="+id;</p><p><b>
100、; int cc=0;</b></p><p><b> try{</b></p><p> System.out.print("sqqq\t"+sql);</p><p> db.executeDelete(sql);//執(zhí)行數據庫更新操作</p><p><b>
101、cc++;</b></p><p> }catch(Exception e){</p><p><b> cc=0;</b></p><p><b> }</b></p><p> if(cc>0){//根據數據庫更新操作的結果重定向用戶請求</p><
102、p> response.sendRedirect("Paperslist.jsp");</p><p><b> }else{</b></p><p> response.sendRedirect("updatePapers.jsp?error=error");</p><p><b&g
103、t; }</b></p><p><b> }</b></p><p><b> %></b></p><p><b> </p></b></p><p> <p align="center"><fo
104、nt color="#000000" size="+3" >修改試卷</font></p></p><p> <form name="form1" method="post" action="updatePapers.jsp"></p><p>
105、 <% String getsql="select papersname,remark from papers where id="+id;</p><p> String names="",remarks="";</p><p> java.sql.ResultSet rss=db.executeQuery(getsq
106、l);//執(zhí)行數據庫查詢</p><p> while(rss.next()){</p><p> names=rss.getString(1);</p><p> remarks=rss.getString(2);</p><p> 在線更新課程的頁面:</p><p> 圖3.7更新課程頁面</p&
107、gt;<p> f 系統管理員登錄、維護等功能</p><p> 系統管理員登錄、維護等功能可以對軟件工程網上教學輔助系統上的信息進行綜合管理。</p><p> 管理員登錄后的頁面:</p><p> 圖3.8管理員登錄后主頁面</p><p> 3.2.2管理員操作模塊</p><p>
108、 該模塊是跟前臺相對應的,以上各個模塊后來都有相應的管理。具體如下:</p><p><b> 1、 用戶管理 </b></p><p> 該模塊主要實現用戶添加,刪除,修改用戶信息等功能,該模塊是通過java操作數據庫,跟教學展示、查找模塊相似,所有的數據庫操作都封裝到servlet中,這樣保證了數據的安全性。這個模塊值得一提的是教學圖片上傳功能,文件的上傳功
109、能在基于B/S的開發(fā)模式中非常普遍。同其他開發(fā)工具相比較,JSP對文件的上傳支持并不是很完美,它既不象ASP那樣一定需要使用組件來完成。JSP實現文件上傳的實現方式是這樣的:使用ServletRequest類的getInputStream()方法獲得一個客戶端向服務器發(fā)出的數據流,然后處理這個數據流,從中分析、得到文件上傳中傳遞到服務器的各個參數和數據,然后將其中的文件數據存儲為一個文件或插入到數據庫中。通常JSP頁面中不處理文件的上傳
110、功能,而是把這些功能放到Servlet 或JavaBean中去實現。使用Servlet完成文件上傳的例子在一些JSP的相關書籍中都有所介紹,我這里使用JeanBean完成文件上傳。</p><p><b> 刪除的核心代碼:</b></p><p> String ids=request.getParameter("id");</p>
111、;<p> String name1=request.getParameter("name");</p><p> String name2=request.getParameter("min_name");</p><p> int s1=name1.indexOf("/");</p><
112、p> String n1=name1.substring(s1+1,name1.length()); //要刪除的文件名</p><p> String subPath=name1.substring(0,s1); //獲取文件夾名</p><p> int s2=name2.indexOf("/");</p><p> Str
113、ing n2=name2.substring(s2+1,name2.length());//要刪除的縮略文件名</p><p> String FilePath=request.getRealPath("");</p><p> String allPath=FilePath+"\\"+subPath+"\\"; //獲取整個
114、絕對路徑</p><p> java.io.File delFile=new java.io.File(allPath,n1);</p><p> if(delFile.exists())</p><p> delFile.delete(); //如果該文件存在,則刪除</p><p> java.io.File min_delFil
115、e=new java.io.File(allPath,n2);</p><p> if(min_delFile.exists())</p><p> min_delFile.delete(); //如果該文件存在,則刪除</p><p><b> try</b></p><p><b> {</b
116、></p><p> String sql="delete up_imges where id="+ids;</p><p> Connection con=DataBaseConnection.getConnection();</p><p> PreparedStatement pstmt=con.prepareStatement
117、(sql);</p><p> pstmt.executeUpdate();</p><p> out.println("<SCRIPT language=javascript>alert('刪除成功!');window.location='upload.jsp';</script>");</p>
118、<p><b> }</b></p><p> catch(Exception e)</p><p><b> {</b></p><p> e.printStackTrace();</p><p><b> }</b></p><p&
119、gt; 用戶管理:如刪除教師信息:</p><p> 圖3.9刪除編號002老師信息</p><p><b> 2、信息管理</b></p><p><b> 管理員管理</b></p><p> 系統管理員在軟件工程網上教學輔助系統上登錄、維護信息的等功能。</p><
120、;p> 整個系統設計的核心部分在Servlet,它負責整個系統的業(yè)務處理。利用JSP,并處理數據。</p><p> 4.程序的調試及故障分析</p><p><b> 4.1設計錯誤</b></p><p> 調試環(huán)境為Eclipse+tomcat5.5以上環(huán)境,調試中遇到問題多多,開發(fā)系統的過程中,稍有不慎就漏洞百出。<
121、/p><p> a 最初的問題是XML文件路徑的問題。Xml存放路徑,需要加絕對路徑,web服務器才能找到。這就大大折損了JAVA語言的可移植性。經過深思熟慮,和多次測試,我想到了絕對路徑和相對路徑相結合的辦法。讀文件的時候用絕對路徑去讀,寫文件的時候用web服務器的相對路徑去寫。</p><p> b 對于jsp和servlet的顯示和處理中文,經??赡艹霈F亂碼。 通常對于j
122、sp,有</p><p> <%@ page contentType="text/html;charset=gb2312"%> 對于</p><p> servlet,Response.setContentType("text/html;charset=gb2312"); 一般對于顯
123、示,中文上面是保險的辦法,其他的一些編碼會經常出亂碼。有時還需要對request的內容進行編碼。如 request.setCharacterEncoding("GBK");</p><p> c 關于空值讀寫XML文檔的問題。</p><p> 數據庫某列為空值寫入XML,就拋出了異常;解決辦法,增加了多處空判斷。</p><p> d
124、程序部署測試階段</p><p> tomcat5.5上部署成功編譯過的系統,因操作系統環(huán)境而定,在不打補丁的情況,有時可以正常連接,有時卻不能,所以建議還是安裝最新的SQL SERVER 2000. </p><p> 如果你的程序在運行時提示:Error establishing socket,一般情況下,打上SQL SERVER 2000的補丁就可解決。</p>&
125、lt;p><b> 4.2配置錯誤</b></p><p> a 數據庫配置文件的修改</p><p> 本次系統需要使用XML文檔配置數據庫信息,當手工修改xml信息內容時,只能通過拷貝一個XML文檔,再做簡單修改,如果自己修改過多的話,系統就會報錯。我最終的解決辦法是把數據庫的配置信息,寫到EXCEL里,然后寫用剛寫好的用JDOM從EXCEL轉換到XM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計----軟件工程網上輔助教學系統
- (畢業(yè)設計論文) 軟件工程網上輔助教學系統(1)
- 軟件工程網上教學輔助系統開題報告
- 軟件工程網上教學輔助系統開題報告
- 網上教學系統畢業(yè)設計
- 基于WEB的網上輔助教學系統的研究與設計.pdf
- 《數據庫原理》網上輔助教學系統的設計與實現畢業(yè)論文
- 音樂輔助教學系統的設計與實現
- 基于B-S的網上輔助教學系統的設計與實現.pdf
- 網上計算機輔助教學系統的設計與實現.pdf
- 網絡精品課程網上輔助教學系統的設計與實現.pdf
- 精品課程輔助教學系統畢業(yè)論文
- 美術輔助教學系統的設計和實現.pdf
- 在線輔助教學系統的開發(fā)與設計.pdf
- 國畫課業(yè)輔助教學系統的設計與實現
- 基于WEB的輔助教學系統.pdf
- 軟件工程畢業(yè)設計論文
- 軟件工程畢業(yè)設計論文
- 工程制圖多媒體輔助教學系統研究.pdf
- Visual Basic輔助教學系統設計與實現.pdf
評論
0/150
提交評論