![數(shù)據(jù)庫(kù)之教務(wù)管理系統(tǒng)_第1頁(yè)](http://file4.renrendoc.com/view/5e4d6af3a793fa37b6697fbfc3e42906/5e4d6af3a793fa37b6697fbfc3e429061.gif)
![數(shù)據(jù)庫(kù)之教務(wù)管理系統(tǒng)_第2頁(yè)](http://file4.renrendoc.com/view/5e4d6af3a793fa37b6697fbfc3e42906/5e4d6af3a793fa37b6697fbfc3e429062.gif)
![數(shù)據(jù)庫(kù)之教務(wù)管理系統(tǒng)_第3頁(yè)](http://file4.renrendoc.com/view/5e4d6af3a793fa37b6697fbfc3e42906/5e4d6af3a793fa37b6697fbfc3e429063.gif)
![數(shù)據(jù)庫(kù)之教務(wù)管理系統(tǒng)_第4頁(yè)](http://file4.renrendoc.com/view/5e4d6af3a793fa37b6697fbfc3e42906/5e4d6af3a793fa37b6697fbfc3e429064.gif)
![數(shù)據(jù)庫(kù)之教務(wù)管理系統(tǒng)_第5頁(yè)](http://file4.renrendoc.com/view/5e4d6af3a793fa37b6697fbfc3e42906/5e4d6af3a793fa37b6697fbfc3e429065.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《數(shù)據(jù)庫(kù)系統(tǒng)》課程設(shè)計(jì)報(bào)告軟件專業(yè)2012級(jí)1班06號(hào)2014年6月20日
目錄1.需求分析內(nèi)容…………………1.1用戶需求說明………………1.2數(shù)據(jù)流圖……………………1.3數(shù)據(jù)字典……………………2.概念設(shè)計(jì)內(nèi)容…………………E-R圖………………………包括實(shí)體、聯(lián)系以及實(shí)體、聯(lián)系屬性的詳細(xì)E-R圖……3.邏輯設(shè)計(jì)與物理設(shè)計(jì)及安全設(shè)計(jì)………………3.1實(shí)體類型的轉(zhuǎn)換……………3.2聯(lián)系的轉(zhuǎn)換…………………3.3物理設(shè)計(jì)……………………3.4安全設(shè)計(jì)……………………4.系統(tǒng)模塊設(shè)計(jì)與功能實(shí)現(xiàn)………4.1系統(tǒng)的功能劃分及描述……………………4.2主要用戶界面………………4.3系統(tǒng)使用說明和安裝說明…………………5.附:部分重要代碼………………需求分析內(nèi)容1.1需求分析1.1.1系統(tǒng)目標(biāo):實(shí)現(xiàn)一個(gè)計(jì)算機(jī)綜合教務(wù)管理系統(tǒng),完成班級(jí)信息管理,學(xué)生信息管理,課程信息管理和學(xué)生選課管理等功能。1.1.2系統(tǒng)功能需求:本系統(tǒng)的用戶分為超級(jí)用戶和普通用戶兩類,超級(jí)用戶負(fù)責(zé)系統(tǒng)維護(hù),包括對(duì)班級(jí)信息,學(xué)生個(gè)人信息,課程信息的錄入,修改,查詢,刪除等。普通用戶即選課學(xué)生則只具有為自己選課的權(quán)限。(1)功能劃分: 用戶通過身份驗(yàn)證后進(jìn)入主界面。主界面為超級(jí)用戶提供6項(xiàng)選擇:學(xué)生信息管理,課程信息管理,班級(jí)信息管理,選課,口令修改和退出系統(tǒng)。普通用戶有4項(xiàng)功能選擇:選課,課程查詢,口令修改和退出系統(tǒng)。功能描述:班級(jí)信息管理:給出所有班級(jí)的列表,超級(jí)用戶可以實(shí)現(xiàn)增加,修改,查找,刪除班級(jí)信息,維護(hù)指定班級(jí)所有學(xué)生信息,為指定班級(jí)設(shè)定必修課和選課學(xué)分限制等功能。在維護(hù)指定班級(jí)學(xué)生信息功能中,超級(jí)用戶可以實(shí)現(xiàn)增加,修改,刪除學(xué)生信息,察看某一學(xué)生選課情況,為學(xué)生更改口令等功能。在指定班級(jí)必修課功能中,以課表形式列出班級(jí)所有必修課的課程信息,實(shí)現(xiàn)為一個(gè)班級(jí)增加或刪除必修課的功能。學(xué)生信息管理:給出所有學(xué)生的列表,超級(jí)用戶可以增加,修改,刪除,查找學(xué)生信息,察看某個(gè)學(xué)生選課情況,為學(xué)生修改口令等功能。本項(xiàng)功能與班級(jí)信息維護(hù)功能中的維護(hù)指定班級(jí)學(xué)生信息功能相似,不同的是本項(xiàng)功能中將列出所有班級(jí)的所有學(xué)生信息。課程信息管理:加入,修改,刪除課程紀(jì)錄,察看某門課的選課情況,查詢指定的課程信息。選課:以課表的形式列出學(xué)生選課情況,學(xué)生可以為自己選修或者退選課程,而超級(jí)用戶可以為任何學(xué)生選修或者退選課程。每個(gè)班級(jí)都有選課的學(xué)分限制,不允許學(xué)生選擇課程的總學(xué)分超過所在班級(jí)的選課最大學(xué)分限制,而當(dāng)退出選課功能時(shí),如果選取課程總學(xué)分未達(dá)到所在班級(jí)選課最小學(xué)分限制則給出警告信息(因?yàn)閷W(xué)生可以多次進(jìn)入選課界面選課)。修改口令:用戶需要輸入原口令,并且兩次輸入新口令一致后,系統(tǒng)即用新口令代替舊口令。退出系統(tǒng):當(dāng)用戶退出系統(tǒng)時(shí),如果選取的課程總學(xué)分未達(dá)到所在班級(jí)選課最小學(xué)分限制,則給出警告信息。(3)開發(fā)工具:該綜合教務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)采用了MySQL5.6,前臺(tái)應(yīng)用程序采用了JSP編寫,提供了Web界面方便學(xué)生從網(wǎng)上使用。由于采用了JDBC數(shù)據(jù)庫(kù)接口,因此很容易修改為支持ORACLE,SYBASE,DB2等數(shù)據(jù)庫(kù)。1.2數(shù)據(jù)流圖了解用戶的應(yīng)用要求,使用信息流程圖分析應(yīng)用系統(tǒng)中的信息流。綜合教務(wù)系統(tǒng)的簡(jiǎn)單信息流如下。系統(tǒng)的頂層數(shù)據(jù)流圖如下圖1-1,為教務(wù)管理系統(tǒng)的頂層數(shù)據(jù)流圖圖1-1教務(wù)管理系統(tǒng)的頂層數(shù)據(jù)流圖學(xué)生選課的數(shù)據(jù)流圖教務(wù)管理系統(tǒng)的數(shù)據(jù)流圖如圖1-2圖1-2教務(wù)管理系統(tǒng)的一層數(shù)據(jù)流圖教務(wù)管理系統(tǒng)的二層數(shù)據(jù)流圖如圖2-1圖2-1教務(wù)管理系統(tǒng)二層圖教務(wù)管理系統(tǒng)的三層數(shù)據(jù)流圖如圖3-1~3-3圖3-2教務(wù)系統(tǒng)三層圖之老師登陸流圖教師信息教師信息查詢信息班級(jí)學(xué)生和課程信息查詢班級(jí)學(xué)生和課程信息查詢課程詳細(xì)信息課程詳細(xì)信息班級(jí)詳細(xì)信息學(xué)生詳細(xì)信息學(xué)生詳細(xì)信息為學(xué)生選課為學(xué)生選課選課單選課單選課信息圖3-2教務(wù)系統(tǒng)三層圖之教師登陸流圖賬號(hào)信息賬號(hào)信息管理員信息賬號(hào)管理賬號(hào)管理學(xué)生詳細(xì)信息教師詳細(xì)信息學(xué)生詳細(xì)信息教師詳細(xì)信息學(xué)生教師賬號(hào)單圖3-2教務(wù)系統(tǒng)三層圖之管理員登陸流圖1.3數(shù)據(jù)字典數(shù)據(jù)流名:選課申請(qǐng)說明:根據(jù)學(xué)生和所選課程信息組成選課申請(qǐng)表來自過程:無流至過程:身份驗(yàn)證數(shù)據(jù)結(jié)構(gòu):學(xué)生信息選課信息5.2教師:數(shù)據(jù)項(xiàng)名:課程信息來源:教師去向:查詢課表簡(jiǎn)述:開設(shè)課程組成:課程號(hào)+課程名+授課老師+學(xué)分+人數(shù)限制數(shù)據(jù)項(xiàng)名:班級(jí)信息來源:教師去向:查詢班級(jí)簡(jiǎn)述:開設(shè)班級(jí)組成:班級(jí)名+最大學(xué)分限制+最少學(xué)分限制數(shù)據(jù)項(xiàng)名:學(xué)生信息來源:教師去向:選課簡(jiǎn)述:輸入學(xué)生信息,對(duì)學(xué)生進(jìn)行選課組成:學(xué)號(hào)+姓名+生日+班級(jí)+性別處理過程:身份驗(yàn)證說明: 對(duì)教師輸入的賬號(hào),密碼進(jìn)行驗(yàn)證,若正確,進(jìn)入教師個(gè)人界面。輸入:教師個(gè)人帳號(hào)密碼輸出:班級(jí)課程學(xué)生信息以及選課信息數(shù)據(jù)結(jié)構(gòu):教師賬號(hào)說明:包含教師的個(gè)人信息組成:帳號(hào)密碼數(shù)據(jù)流名:選課申請(qǐng)說明:教師根據(jù)學(xué)生和所選課程信息組成選課申請(qǐng)表來自過程:無流至過程:教師身份驗(yàn)證數(shù)據(jù)結(jié)構(gòu):學(xué)生信息選課信息5.3:管理員:數(shù)據(jù)結(jié)構(gòu):管理員賬號(hào)說明:包含管理員的賬號(hào)信息組成:帳號(hào)密碼處理過程:身份驗(yàn)證說明: 對(duì)管理員輸入的賬號(hào),密碼進(jìn)行驗(yàn)證,若正確,進(jìn)入管理員個(gè)人界面。輸入:管理員個(gè)人帳號(hào)密碼輸出:學(xué)生賬號(hào)和教師賬號(hào)數(shù)據(jù)流名:賬號(hào)管理說明:管理員對(duì)學(xué)生和教師的賬號(hào)進(jìn)行管理來自過程:無流至過程:教師賬號(hào)學(xué)生賬號(hào)數(shù)據(jù)結(jié)構(gòu):學(xué)生賬號(hào)密碼教師賬號(hào)密碼概念設(shè)計(jì)內(nèi)容2.1E-R圖sexclassmajorgradeusernamenameagesexclassmajorgradeusernamenameagestudentstudentn管理管理courseIdcourseIdcoursecreditcoursecreditcourseNamecoursemcourseNamecoursecourseDesccourseDescteacherName講授teacherName講授1TeacherTeachermnameagesexmajorusernamenameagesexmajorusername該選課系統(tǒng)涉及的實(shí)體集有:班級(jí)實(shí)體集:具有屬性班級(jí)名稱和選課學(xué)分限制。學(xué)生實(shí)體集:具有屬性學(xué)號(hào)、姓名、性別和生日。課程實(shí)體集:具有屬性課程號(hào)、課程名、學(xué)分、授課教師、接納人數(shù)。上課時(shí)間實(shí)體集:具有屬性時(shí)間。一個(gè)班級(jí)可以有多個(gè)學(xué)生,一個(gè)學(xué)生只能屬于一個(gè)班級(jí),所以班級(jí)和學(xué)生之間的聯(lián)系為1:M的聯(lián)系。一個(gè)班級(jí)可以有多門必修課程,一門課程是多個(gè)班級(jí)的必修課,所以班級(jí)和課程之間的必修聯(lián)系是M:N的聯(lián)系。一個(gè)學(xué)生課以選修多門課程,一門課程可以被多個(gè)學(xué)生選修,所以學(xué)生和課程之間的聯(lián)系是M:N的聯(lián)系。一門課程可以有多個(gè)上課時(shí)間,同一時(shí)間內(nèi)可以有多門課程在上課,所以課程和上課時(shí)間的聯(lián)系是M:N的聯(lián)系。3.1實(shí)體類型的轉(zhuǎn)換(1)班級(jí)實(shí)體集可以轉(zhuǎn)換為關(guān)系: CLASS(CLASSNAME,MAXCREDIT,MINCREDIT) CLASSNAME表示班級(jí)名稱,MAXCREDIT表示最大學(xué)分限制,MINCREDIT表示最小學(xué)分限制。(2)學(xué)生實(shí)體集可以轉(zhuǎn)換為關(guān)系 ST(STUDENT_ID,STUDENT_NAME,STUDENT_SEX,STUDENT_AGE) STUDENT_ID表示學(xué)號(hào),STUDENT_NAME表示姓名,STUDENT_SEX表示性別,STUDENT_AGE表示年齡(3)課程實(shí)體可以轉(zhuǎn)換為關(guān)系 CS(COURSE_ID,COURSE_NAME,CREDIT,TEACHER,ACCEPTION) COURSEI_D表示課程號(hào),COURSE_NAME表示課程名,CREDIT表示學(xué)分,TEACHER表示授課教師,ACCEPTION表示接納人數(shù)。(4)班級(jí)和學(xué)生之間的聯(lián)系是1:M的聯(lián)系,所以沒有必要為其建立一個(gè)關(guān)系,可以通過擴(kuò)展學(xué)生關(guān)系來表示: ST(STUDENT_ID,STUDENT_NAME,STUDNET_SEX,STUDENT_AGE,CLASSNAME) CLASSNAME表示學(xué)生所在班級(jí)名。(5)班級(jí)和課程之間的必修聯(lián)系可以轉(zhuǎn)換為關(guān)系: CLASSCOURSE(CLASSNAME,COURSE_ID) CLASSNAME表示班級(jí)名稱,COURSE_ID表示課程號(hào)。(6)學(xué)生和課程之間的選修聯(lián)系可以轉(zhuǎn)化為關(guān)系: SELECTCOURSE(STUDENT_ID,COURSE_ID) STUDENT_ID表示學(xué)號(hào),COURSE_ID表示課程號(hào)。3.2數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì):學(xué)生賬號(hào)表(studentlogin):包含了學(xué)生的所有賬號(hào),定義如下:域名含義數(shù)據(jù)類型例子備注username學(xué)生賬號(hào)字符類型1520123134主碼password密碼數(shù)值類型123教師賬號(hào)表(teacherlogin):包含了教師的所有賬號(hào),定義如下:域名含義數(shù)據(jù)類型例子備注username教師賬號(hào)字符類型1000主碼PASSWORD密碼數(shù)值類型123管理員賬號(hào)表(adminlogin):包含了管理員的所有賬號(hào),定義如下:域名含義數(shù)據(jù)類型例子備注USERNAME管理員賬號(hào)字符類型Admin主碼PASSWORD密碼數(shù)值類型123班級(jí)信息表(class):包含所有班級(jí)的班級(jí)信息,定義如下:域名含義數(shù)據(jù)類型例子備注NAME班級(jí)名稱字符類型軟件121主碼MAXCREDIT最大學(xué)分限制數(shù)值類型35MINCREDIT最小學(xué)分限制數(shù)值類型25學(xué)生信息表(student):包含所有學(xué)生的個(gè)人信息,定義如下:域名含義數(shù)據(jù)類型例子備注username學(xué)號(hào)字符類型1520123134主碼NAME姓名字符類型張三SEX性別字符類型男age年齡日期類型94/09/16CLASS班級(jí)名稱字符類型1外碼GRADE年級(jí)字符類型12major專業(yè)字符類型軟件專業(yè)課程信息表(course):包含所有課程信息,定義如下:域名含義數(shù)據(jù)類型例子備注courseId課程號(hào)字符類型1000主碼coursename課程名稱字符類型數(shù)據(jù)結(jié)構(gòu)coursecrdit學(xué)分?jǐn)?shù)值類型8courseteacher任課教師字符類型廖列法course period學(xué)時(shí)數(shù)值類型28coursedesc課程介紹字符串型Liunx課程學(xué)生選課表(courserecord):包含所有學(xué)生的選課信息,定義如下:域名含義數(shù)據(jù)類型例子備注username學(xué)號(hào)字符類型1520123134外碼courseId 課程號(hào)字符類型1000外碼3.3選課系統(tǒng)DEMO的處理流程圖:3.4總體結(jié)構(gòu)和外部模塊設(shè)計(jì):教師模塊學(xué)生模塊管理員模塊
3.5物理設(shè)計(jì)
數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段的任務(wù)是根據(jù)具體計(jì)算機(jī)系統(tǒng)(DBMS和硬件等)的特點(diǎn),為給定的數(shù)據(jù)庫(kù)模型確定合理的存儲(chǔ)結(jié)構(gòu)和存取方法。所謂“合理”主要有兩個(gè)含義:一個(gè)是要使設(shè)計(jì)出的物理數(shù)據(jù)庫(kù)占用較少的存儲(chǔ)空間,另一個(gè)對(duì)數(shù)據(jù)庫(kù)的操作具有盡可能高的速度。主要體現(xiàn)在后者。
1.建立索引
(1)對(duì)Course表在courseId屬性列上建立聚集索引,在coursename、courseteacher、coursecedit、Courseperiod屬性列上建立非聚集索引。
(2)對(duì)Student表在username屬性列上建立聚集索引,在name、sex、age、major屬性列上建立非聚集索引。
(3)對(duì)studentlogin表在userName屬性列上建立聚集索引,在userPasswd、屬性列上建立非聚集索引。(4)對(duì)teacherlogin表在userName屬性列上建立聚集索引,在userPasswd、屬性列上建立非聚集索引。
2、存儲(chǔ)結(jié)構(gòu)
確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲(chǔ)安排及存儲(chǔ)結(jié)構(gòu),以及確定系統(tǒng)存儲(chǔ)參數(shù)的配置。
將日志文件和數(shù)據(jù)庫(kù)對(duì)象(表、索引等)分別放在不同的磁盤可以改進(jìn)系統(tǒng)的性能。所以系統(tǒng)將日志文件和數(shù)據(jù)文件存放在不同磁盤上。3.6安全設(shè)計(jì)通過各種約束,缺省,規(guī)則和觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)的完整性。由于教務(wù)系統(tǒng)的重要性,和各個(gè)數(shù)據(jù)之間的復(fù)雜相關(guān)性,保證數(shù)據(jù)的完整性顯得更為重要。不能讓用戶隨意的刪除,修改數(shù)據(jù)。①CHECK約束保證最大限選學(xué)分要大于最小限選學(xué)分。②各種外碼約束保證數(shù)據(jù)的完整性,不能隨意刪除。③主碼約束保證實(shí)體的完整性。④創(chuàng)建規(guī)則保證學(xué)生的年齡在18歲到35歲之間,不會(huì)輸入錯(cuò)誤數(shù)據(jù)。⑤創(chuàng)建觸發(fā)器,保證在添加學(xué)生信息的時(shí)候,自動(dòng)將該班級(jí)的必修課添加到選課表中。4.系統(tǒng)模塊設(shè)計(jì)與功能實(shí)現(xiàn)4.1系統(tǒng)的功能劃分及描述課程信息查詢分為兩個(gè)部分,一個(gè)是查詢已經(jīng)選擇的課程,一個(gè)是為了退選已經(jīng)選擇的課程。選課管理主要是學(xué)生進(jìn)行選課用的??诹钚薷氖菫榱藢W(xué)生能改對(duì)登錄密碼進(jìn)行修改。4.2主要用戶界面4.2.1登錄界面4.2.2查詢選課課程4.2.3退選課程4.2.4選課界面4.2.5修改密碼4.3系統(tǒng)使用說明和安裝說明附:部分重要代碼(1)SQLLink.java//連接數(shù)據(jù)庫(kù)packagebean;importjava.sql.*;publicclassSQLLink{ privatestaticStringurl="jdbc:mysql://localhost:3306/采購(gòu)系統(tǒng)"; privatestaticStringuser="root"; privatestaticStringpassword="1305756363"; privateSQLLink(){ } static{ try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){ thrownewExceptionInInitializerError(e); } } publicstaticConnectiongetConnection()throwsSQLException{ return(Connection)DriverManager.getConnection(url,user,password); } publicstaticvoidfree(ResultSetrs,Statementst,java.sql.Connectionconn){ try{ if(rs!=null) rs.close(); }catch(Exceptione){ e.printStackTrace(); }finally{ try{ if(st!=null) st.close(); }catch(Exceptione){ e.printStackTrace(); }finally{ if(conn!=null) try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } } } }}(2)login.html//登錄的界面<html><head><title>歡迎使用江西理工大學(xué)教務(wù)管理系統(tǒng)!</title><metahttp-equiv="Content-Type"content="text/html;charset="utf-8"></head><bodybgcolor="#FFFFFF"> <h1align="center"color="yellow">江西理工大學(xué)選課系統(tǒng)</h1> <divalign="center"> <p>用戶登錄/LOGIN</p> <formtype="post"action="login.jsp"> <p> 用戶名稱:<inputtype="text"name="value1"><br/> 登錄密碼:<inputtype="password"name="value2"><br/> </p> <p> <inputtype="radio"name="user"value="user1"/>學(xué)生 <inputtype="radio"name="user"value="uesr2"/>老師 <inputtype="radio"name="user"value="admin"checked="checked"/>管理員 </p> <p> <inputtype="submit"name="Submit"value="確定"> </p> </form> </div></body></html>(3)login.jsp//登錄的界面<%@pagelanguage="java" import="bean.*,javax.swing.*,java.sql.*,java.awt.*,java.awt.event.*" pageEncoding="utf-8"%><% Stringusername=request.getParameter("value1"); Stringpassword=request.getParameter("value2");%><% intf=1; //查看密碼是否為空 if(username.equals("")&&password.equals("")){ JOptionPane.showMessageDialog(null,"用戶名和密碼不能為空!"); response.sendRedirect("login.html"); f=0;%><% }elseif(username.equals("")||password.equals("")){ if(username.equals("")){ JOptionPane.showMessageDialog(null,"用戶名不能為空!"); response.sendRedirect("login.html"); f=0;%><% } if(password.equals("")){ JOptionPane.showMessageDialog(null,"密碼不能為空!"); response.sendRedirect("login.html"); f=0;%><% } }%><% Connectionconn=null; Statementst=null; ResultSetrs=null; if(request.getParameter("user").equals("user1")&&f==1){ try{ //建立連接 conn=SQLLink.getConnection(); st=conn.createStatement(); //驗(yàn)證用戶名和密碼 rs=st.executeQuery("selectusername,passwordfromstudentloginwhereusername='" +username+"'"); booleanflag=false; while(rs.next()){ if(rs.getString("username").equals(username) &&rs.getString("password").equals(password)){ flag=true; break; } } //密碼正確時(shí)進(jìn)行跳轉(zhuǎn)到user。jsp if(flag==true){ request.getSession().setAttribute("username",username);%><jsp:includepage="user1.jsp"flush="true"> <jsp:paramvalue="<%=username%>"name="v1"/></jsp:include><% }else{ JOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤!"); response.sendRedirect("login.html");%><% } }catch(SQLExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); }finally{ SQLLink.free(rs,st,conn);//異常處理 }%><% }else{%><% if(request.getParameter("user").equals("user2")&&f==1){ try{ conn=SQLLink.getConnection(); st=conn.createStatement(); //驗(yàn)證用戶名和密碼 rs=st.executeQuery("selectusername,passwordfromteacherloginwhereusername='" +username+"'"); booleanflag=false; while(rs.next()){ if(rs.getString("username").equals(username) &&rs.getString("password") .equals(password)){ flag=true; break; } } //密碼正確跳轉(zhuǎn)到admin。jsp if(flag==true){ request.getSession().setAttribute("username", username);%><jsp:includepage="user2.jsp"flush="true"> <jsp:paramvalue="<%=username%>"name="v1"/></jsp:include><% }else{ JOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤!"); response.sendRedirect("login.html");%><% } }catch(SQLExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); }finally{ SQLLink.free(rs,st,conn);//異常處理 }%><% }else{%><% if(request.getParameter("user").equals("admin")&&f==1){ try{ //建立連接 conn=SQLLink.getConnection(); st=conn.createStatement(); //驗(yàn)證用戶名和密碼 rs=st.executeQuery("selectusername,passwordfromadminloginwhereusername='"+username+"'"); booleanflag=false; while(rs.next()){ if(rs.getString("username").equals(username) &&rs.getString("password").equals( password)){ flag=true; break; } } //密碼正確跳轉(zhuǎn)到admin。jsp if(flag==true){ request.getSession().setAttribute("username", username);%><jsp:includepage="admin.jsp"flush="true"> <jsp:paramvalue="<%=username%>"name="v1"/></jsp:include><% }else{ JOptionPane .showMessageDialog(null,"用戶名或密碼錯(cuò)誤!"); response.sendRedirect("login.html");%><% } }catch(SQLExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); }finally{ SQLLink.free(rs,st,conn);//異常處理 } } } }%>(4)userleft3.jsp'//查詢個(gè)人信息及顯示出來<%@pagelanguage="java" import="bean.*,javax.swing.*,java.sql.*,java.awt.*,java.awt.event.*" pageEncoding="utf-8"%><html><head><title>MyJSP'userleft3.jsp'startingpage</title></head><body> <% Stringusername=(String)request.getSession().getAttribute( "username"); Connectionconn=null; Statementst=null; ResultSetrs=null; try{ conn=SQLLink.getConnection(); st=conn.createStatement(); rs=st.executeQuery("select*fromstudentwhereusername='" +username+"'"); while(rs.next()){ %> <tableborder="0"width="600px"> <tr> <td>姓名</td> <td>年齡</td> <td>性別</td> </tr> <tr> <td> <% out.print(rs.getString("name")); %> </td> <td> <% out.print(rs.getString("age")); %> </td> <td> <% out.print(rs.getString("sex")); %> </td> </tr> <tr> <td>班級(jí)</td> <td>年級(jí)</td> <td>專業(yè)</td> </tr> <tr> <td> <% out.print(rs.getString("class")); %> </td> <td> <% out.print(rs.getString("grade")); %> </td> <td> <% out.print(rs.getString("major")); %> </td> </tr> </table> <% } }catch(SQLExceptione1){ e1.printStackTrace(); }finally{ SQLLink.free(rs,st,conn); } %> <ahref="/OrderSystem1/userright3.jsp"target="righttop">修改密碼</a></body></html>(4)userright1.jsp//查詢課程及顯示<%@pagelanguage="java" import="bean.*,javax.swing.*,java.sql.*,java.awt.*,java.awt.event.*" pageEncoding="utf-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>MyJSP'userright1.jsp'startingpage</title></head><body> <tableborder="2"width="600px"> <tr> <td>課程編號(hào)</td> <td>課程名稱</td> <td>任課教師</td> <td>學(xué)分</td> <td>學(xué)時(shí)</td> <td>課程簡(jiǎn)介</td> </tr> <% Stringusername=(String)request.getSession().getAttribute( "username"); Connectionconn=null; Statementst=null; ResultSetrs=null; try{ conn=SQLLink.getConnection(); st=conn.createStatement(); rs=st.executeQuery("select*fromselectivecoursewherecourseIdin(selectcourseIdfromcourserecordwherecourserecord.username='" +username+"')"); while(rs.next()){ %>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溝通與協(xié)調(diào)打造和諧職場(chǎng)環(huán)境
- 生態(tài)建筑引領(lǐng)未來商業(yè)趨勢(shì)
- 現(xiàn)代科技在股票市場(chǎng)分析中的應(yīng)用
- 校園餐飲消費(fèi)大數(shù)據(jù)洞察學(xué)生消費(fèi)習(xí)慣
- 2024年八年級(jí)生物下冊(cè) 6.2.1遺傳說課稿 (新版)冀教版
- 2024年八年級(jí)物理下冊(cè) 8.1認(rèn)識(shí)壓強(qiáng)說課稿 (新版)粵教滬版
- 14《普羅米修斯》(說課稿)2024-2025學(xué)年-統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 2024年五年級(jí)數(shù)學(xué)下冊(cè) 五 分?jǐn)?shù)除法練習(xí)五說課稿 北師大版
- 2024-2025學(xué)年高中歷史 專題1 中國(guó)傳統(tǒng)文化主流思想的演變 3 宋明理學(xué)說課稿 人民版必修3
- 2024-2025學(xué)年八年級(jí)物理下冊(cè) 第十章 從粒子到宇宙 10.1 認(rèn)識(shí)分子說課稿 (新版)粵教滬版
- 石油化工企業(yè)環(huán)境保護(hù)管理制度預(yù)案
- 2024年甘肅省高考?xì)v史試卷(含答案解析)
- 2024年山東省煙臺(tái)市初中學(xué)業(yè)水平考試地理試卷含答案
- 抗腫瘤治療所致惡心嘔吐護(hù)理
- 2024年廣東省中考地理試題(含解析)
- 西安經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會(huì)招聘考試真題
- 冀教版小學(xué)英語(yǔ)六年級(jí)下冊(cè)全冊(cè)教案
- 2024人工智能開源大模型生態(tài)體系研究報(bào)告
- 緊密型縣域醫(yī)療衛(wèi)生共同體慢病管理中心運(yùn)行指南試行等15個(gè)指南
- YYT 0681.11-2014 無菌醫(yī)療器械包裝試驗(yàn)方法 第11部分:目力檢測(cè)醫(yī)用包裝密封完整性
- 遼寧省沈陽(yáng)市第七中學(xué)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
評(píng)論
0/150
提交評(píng)論