《J2EE系統架構和程序設計》課程設計項目實訓項目——某職業技術學院學生選課系統_第1頁
《J2EE系統架構和程序設計》課程設計項目實訓項目——某職業技術學院學生選課系統_第2頁
《J2EE系統架構和程序設計》課程設計項目實訓項目——某職業技術學院學生選課系統_第3頁
《J2EE系統架構和程序設計》課程設計項目實訓項目——某職業技術學院學生選課系統_第4頁
《J2EE系統架構和程序設計》課程設計項目實訓項目——某職業技術學院學生選課系統_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄 TOC o 1-3 h z u HYPERLINK l _Toc477549826 J2EE系統架構和程序設計課程設計項目實訓項目某職業技術學院學生選課系統 PAGEREF _Toc477549826 h 2 HYPERLINK l _Toc477549827 系統業務需求說明 PAGEREF _Toc477549827 h 2 HYPERLINK l _Toc477549828 1系統的需求分析和系統建模 PAGEREF _Toc477549828 h 11 HYPERLINK l _Toc477549829 系統架構設計 PAGEREF _Toc477549829 h 17 HYP

2、ERLINK l _Toc477549830 項目的數據庫系統設計 PAGEREF _Toc477549830 h 20 HYPERLINK l _Toc477549831 項目的系統功能實現 PAGEREF _Toc477549831 h 22 HYPERLINK l _Toc477549832 項目中應用J2EE 過濾器及Web監聽器組件技術 PAGEREF _Toc477549832 h 55 HYPERLINK l _Toc477549833 課程設計項目實訓的個人感想 PAGEREF _Toc477549833 h 56J2EE系統架構和程序設計課程設計項目實訓項目某職業技術學院學生

3、選課系統系統業務需求說明1、項目背景說明今天,隨著信息技術的發展, 各高校的選課流程已不再是過去的手工形式了。取而代之的是各種各樣的選課電子系統。選課流程繁瑣復雜,而且容易出錯,如何有效的理清各項工作流程并且使整個選課過程高效的進行,一直是高校探索的課題。這次,應客戶的需求,某高校決定開發一套職業技術學院學生選課系統。學生選課系統是利用現代化信息技術對選課流程進行高效管理的一款系統。它代替了以前的許多手工流程,層次化,條理化地解決了許多繁瑣的問題。因此,該系統適合應用于高校等基于網絡的學生管理的環境。能夠比較簡單的維護和管理學生選課,保證高效率和低成本。如下為采用通用語言表述的系統主要的功能性

4、需求:(1)應該提供對選課的學生進行基本的管理功能:包括注冊、登陸、修改和在線注銷等方面的功能(2)應該提供對課程進行選課、查詢課程信息、統計所選擇的課程的總學分等基本功能(3)對部分的功能模塊中的數據應該采用XML文件的形式作為持久化的載體,并利用Java中的XML解析技術進行讀/寫該XML文件中的數據(4)對部分的功能模塊中的頁面采用XML+XSLT的方式代替JSP頁面進行顯示(5)利用過濾器組件技術實現系統的安全身份驗證2、業務領域與目標(1)業務領域 本系統面向中小型學院,用戶群體為學院的教務科,教師以及學生。(2)業務目標根據現實選課流程實現各種操作,如:發布課程,刪除課程,查詢課程

5、,瀏覽所選課程,提交課程以及其他查詢教師和教室等相關操作。(3)項目提交產品運行程序所需要的所有文件(頁面文件、源代碼、數據庫文件以及其它的配置文件)。 系統的主要功能操作的說明書(運行過程中代表系統的主要功能實現的頁面,進行屏幕拷貝截圖放到Word 文檔中以便進行功能檢查)。3、參與選課系統的組織機構與人員分工(1)教學科管理員管理員對課程信息、學生信息、教師信息及系統進行維護。并且可獲得下學期課程信息后,發布課程信息,若信息有誤,可修改信息。課程選課人數不足,可以停開該課程。如果過了選課期限,可以禁止學生選課。(2)教師提交課程信息給教學科,可以查詢自己的課程。(3)學生學生可通過輸入帳號

6、、密碼登錄選課系統,在登錄系統后,學生可進行選課、退課及查詢操作。學生在選課期間可以查詢下學期所要上的課程,選中課程,然后提交。一定期限內。如果發現選課有誤,可以修改課程或刪除課程。提交之后,可以瀏覽自己選的課程。(4)系統管理員主要執行的操作包含添加、修改、刪除、系統故障解決等系統方面的管理功能。4、業務范圍及邊界(1)選課系統需求描述學生課程管理系統的設計目的是要將學生所選的各個課程信息通過網絡方式進行管理,為學生、教師和教務管理人員提供便利。系統的用戶有3種類型,分別為系統管理員,學生及教師。系統對于一個用戶只允許以一種身份登錄。系統管理員登錄系統后可以對系統進行功能管理。其主要操作是維

7、護學生,教師,課程和班級的基本信息,以及維護選課系統的狀態。學生登錄后的主要操作是選課和個人信息的維護。教師登錄后的主要操作是管理自己的班級并為學生登錄成績。由于選課系統各個流程之間耦合非常緊密,操作簡單,故決定整體對待,不再進行明細劃分。下面為本選課系統的功能性需求描述:學生有登錄選課系統的帳號和密碼。學生在登錄選課系統后可執行選課,退課,查詢(包括本學期課表及其它課程),修改自己信息等操作。管理員進行課程信息維護。(包含修改、刪除、故障解決)管理員進行學生信息維護。(包含修改、刪除、故障解決)管理員進行教師信息維護。(包含修改、刪除、故障解決)管理員進行系統維護。(2)選課系統數據流圖(3

8、)選課系統總用例圖(邊界定義)(4)與學生和教師相關的系統用例 (5)與系統管理員相關的用例(6)系統中的各個用例所構成的系統用例圖5、識別選課系統的用例(1)學生登錄:本用例用于學生登錄選課系統選課:本用例為學生提供選課的功能。退課:本用例為學生提供退課的功能。查詢:本用例為學生提供課程查詢的功能。(包括本學期課表及其它課程)(2)管理員登錄:本用例用于管理員登錄選課系統課程信息維護:管理員通過本用例對課程信息進行維護。學生信息維護:管理員通過本用例對學生信息進行維護。教師信息維護:管理員通過本用例對教師信息進行維護。系統維護:管理員通過本用例對系統進行維護。6、業務活動描述(1)事件響應與

9、用例清單(業務事件)事件觸發器來源活動/用況響應目的地教師填寫課程信息教學需要教師填寫表單教學科教學科整理課程信息并完成表單教學需求教學科填寫表單教學科添加課程教室信息教學需要教學科填寫表單教學科學生查詢要選課程進入選課期限學生查詢信息顯示課程信息學生學生選擇課程已選好課程學生提交課程信息顯示信息學生教學科查詢學生選課信息選課借書教學科查詢信息顯示信息教學科教學科刪除課程選課人數不足教學科刪除信息信息刪除教學科教師查詢課程選擇情況選課結束教師查詢信息顯示信息教師學生查詢已選課程選課結束學生查詢信息顯示信息學生(2)各個用例的事件流用例編號:student01用例名稱:查詢用例說明: 學生登錄選

10、課系統后,查看所有課程參與者: 學生;前置條件:學生要先進行登錄;基本流程:登錄選課系統,點擊查看課程,提交系統用例編號:student02用例名稱:選課用例說明: 學生登錄選課系統后,提交自己要選擇的課程參與者: 學生;前置條件:學生要先進行登錄;基本流程:登錄選課系統,在自己想選的課程后面點擊注冊,提交系統用例編號:student03用例名稱:退課用例說明: 學生登錄選課系統后,查看自己已選的課程,根據自己的情況可以退掉一些課程參與者: 學生;前置條件:學生要先進行選課;基本流程:登錄選課系統,在自己想退的課程后面點擊刪除,提交系統用例編號:student04用例名稱:修改信息用例說明:

11、學生登錄選課系統后,可以對自己的信息進行修改 參與者: 學生;前置條件:學生要先進行登錄;基本流程:登錄選課系統,點擊修改信息,提交系統用例編號:admin01用例名稱:管理學生用例說明: 管理員登錄選課系統后,可以對學生的信息進行管理 參與者: 管理員前置條件:管理員要先進行登錄;基本流程:依照學生情況查看,刪除學生信息;用例編號:admin02用例名稱:管理課程用例說明: 管理員登錄選課系統后,可以對課程的信息進行管理參與者: 管理員前置條件:管理員要先進行登錄;基本流程:依照課程情況查看,刪除,修改課程信息;用例編號:admin03用例名稱:管理教師用例說明: 管理員登錄選課系統后,可以

12、對教師的信息進行管理參與者: 管理員前置條件:管理員要先進行登錄;基本流程:依照教師情況查看,刪除,修改教師信息;用例編號:admin04用例名稱:注冊用例說明: 管理員登錄選課系統后,可以注冊其他的管理員參與者: 管理員前置條件:管理員要先進行登錄;基本流程:依照教學安排注冊新的管理員;(3)業務過程(包括業務協作)(泳道圖)7、項目的非功能性需求(1)易用性系統面對的用戶包括管理人員、教師、以及在校學生等,在各個接口和設計上,應盡量做到人性化設計,易于為各類用戶所操作。(2)安全性由于面對的用戶有明顯的權限區別,系統必須保證各類用戶在使用時不越出自身的權限。采取密碼驗證的方式,對不同用戶進

13、行信息和權限管設置、管理。嚴格按照權限設置限制各用戶的行為,保證系統的安全性和正常運行。(3)魯棒性由于系統面對的是整個學院的師生,需存儲各種用戶的課程信息,權限信息等,信息量巨大,同時由于選課時信息量流動性較大,系統在運行過程中必須保證數據的一致性和完整性等。不致出現由系統內部因素而引起的數據信息不一致或丟失等問題。對于突發情況,如斷電,機器損壞等,都能及時的恢復事務,以保證系統中數據的完整、正確、一致性。(4)可維護性統交付后將由本團隊負責維護和升級,鑒于可維護性方面考慮,要求在系統開發過程中編寫詳細的文檔,以供維護和升級人員查看,減少時間開銷。(5)系統的容錯性有一定的錯誤處理能力,如密

14、碼錯誤提示,課容量不足提示等。(6)系統的響應性能允許大量用戶同時訪問及進行頁面交互,因此對系統的穩健性的要求是可以支持2000人同時在線。在選課期間,系統應該能夠在7*24小時內運行,系統的反應速度不超過2秒,同時要保證相關的系統核心數據不能丟失。8、系統的環境和設計約束(1)環境約束局域網環境.(2)設計約束必須采用Struts架構設計和實現。(3)技術約束必須采用數據庫連接池和數據源方式連接數據庫。系統的需求分析和系統建模1、系統靜態建模有關系統中主要類的關鍵名詞:學生,課程,管理員,注冊,登錄,修改,注銷,課程選擇,課程退除,課程查看,課程添加,課程刪除。2、分類(1)界面有關類:輸入

15、,輸出(2)業務有關類:業務實體:學生,課程,管理員業務邏輯:注冊,登錄,修改,注銷,課程選擇,課程退除,課程查看,課程添加,課程刪除(3)系統調度有關類:業務調度3、系統的分析類圖4、系統的動態建模(1)管理員順序圖(2)管理員活動圖(3)學生順序圖(4)學生活動圖(5)教師順序圖(6)教師活動圖(7)學生狀態圖(8)課程狀態圖系統架構設計1、開發平臺的選擇本項目采用Java平臺(由前面的設計約束已經決定)。2、本系統選用B/S架構系統由于需要基于大量的用戶的界面交互,同時考慮到本系統需要基于達到“零維護”的設計目標,因此本項目選用B/S架構。為提高系統的開發質量,本項目選擇Struts框架

16、,而業務邏輯和數據訪問等程序代碼采用J2EE JavaBean組件技術進行封裝,并應用Tomcat服務器,開發工具使用MyEclipse和Macromedia Dreamweaver,而數據庫系統則選擇開源的MySQL,并使用Apache DBCP的數據庫連接池和數據源連接數據庫系統。下面為在本項目中配置出數據庫連接池的配置定義文件中的數據源信息: 3、系統的架構包圖和部分類圖(1)系統包圖(2)系統組件圖(3)系統類圖項目的數據庫系統設計1、系統的ER圖2、創建系統數據庫表結構的SQL語句代碼示例(1)建立管理員數據庫表create table admin ( adm_id int(16)

17、not null, name varchar(32) default null, password varchar(32) default null, primary key (adm_id);(2)建立學生信息數據庫表create table student ( stu_id varchar(16) not null, name varchar(32) default null, password varchar(32) default null, department varchar(32) default null, sex varchar(32) default null, mark

18、int(20) default null, tel varchar(32) default null, email varchar(32) default null, course varchar(100) default null, primary key (stu_id);(3)建立教師數據庫表create table teacher( tea_id varchar(16) not null, name varchar(32) default null, password varchar(32) default null, title varchar(32) default null, p

19、rimary key (tea_id);(4)建立課程信息數據庫表create table course( cou_id varchar(16) not null, name varchar(32) default null, mark int(20) default null, dep varchar(32) default null, room varchar(32) default null, prepare varchar(32) default null, time varchar(32) default null, teacher varchar(32) default null,

20、 primary key (cou_id);(5)建立班級數據庫表create table classes( cla_id varchar(16) not null, teacher_id varchar(32) default null, course_id varchar(32) default null, course_time varchar(32) default null, primary key (cla_id), foreign key (course_id) references course (cou_id), foreign key (teacher_id) refere

21、nces teacher (tea_id);create table coursechosen ( course_id varchar(32) default null, student_id varchar(32) default null, accept varchar(32) default null, score varchar(32) default null, foreign key (course_id) references course (cou_id), foreign key (student_id) references student (stu_id);3、數據字典字

22、段主鍵數據類型功能描述其它信息stu_id是varchar2它代表student表中的主鍵,并且與coursechosen表產生關聯course_id是varchar2它代表course表中的主鍵,并且與coursechosen表產生關聯項目的系統功能實現1、項目中的各個程序類及Web頁面的存儲結構關系示圖本系統的程序代碼主要是在MyEclipse開發工具中編寫和調試,某些界面設計運用到XML+XSLT技術,另外大部分界面設計和實現是在Dreamweaver頁面設計工具中設計完成的。本項目的基本應用功能如下:(1)應該提供對選課的學生進行基本的管理功能:包括注冊、登陸、修改和在線注銷等方面的功

23、能;(2)應該提供對課程進行選課、查詢課程信息、統計所選擇的課程的總學分等基本功能;(3)對部分的功能模塊中的數據應該采用XML文件的形式作為持久化的載體,并利用Java中的XML解析技術進行讀/寫該XML文件中的數據;(4)對部分的功能模塊中的頁面采用XML+XSLT的方式代替JSP頁面進行顯示;(5)利用過濾器組件技術實現系統的安全身份驗證。除此之外,本項目還完成了以下新的功能:(1)用戶和管理員登錄之后,主頁可以顯示用戶或管理員的姓名(登錄時只輸入ID和Password);(2)管理員可以對已經注冊的學生和老師進行查看和刪除;(3)管理員可以對課程進行添加、查看、修改和刪除;(4)學生可

24、以查看自己的課表;(5)教師可以查看自己所開的課程的信息;(6)教師可以查看選自己某門課程的學生的學號和姓名,并統計此門課共有幾個人選(7)統計在線人數;2、學生用戶系統登陸在瀏覽器中輸入系統的首頁面URL地址后,系統將會出現如下的登錄表單頁面。然后在該登錄表單中輸入登錄的身份信息,并點擊其中的“提交”按鈕,向系統后臺提交登錄的身份信息,系統將進行數據檢查。如果登錄成功,系統將顯示出如下的提示信息:學生進行系統登錄的后臺Action程序類的代碼示例如下:import com.stuman.dao.UserManageDAOInterface;import com.stuman.dao.User

25、ManageDAOJDBCImple;import com.stuman.form.*;. . ServletRequest;import javax.servlet. . ServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.stuman.form.

26、userLoginForm;import com.stuman.model.*;public class userLoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) userLoginForm userLoginForm = (userLoginForm) form;String sort = userLoginForm.getSort();int logi

27、nSort = Integer.parseInt(sort);String userName = (userLoginForm.getUsername().trim(); String userPassword = (userLoginForm.getPassword().trim(); switch(loginSort)case 1: UserInfoManageInterface userInfoManageImpleBean=new UserInfoManageImple(); UserManageDAOInterface user=new UserManageDAOJDBCImple(

28、); UserInfoVO userInfoVOBean=new UserInfoVO(); if(user.SelectOneUserInfoData(userName, userPassword)=null) return (mapping.findForward(stu_idNull); request.getSession().setAttribute(stuid, user.SelectOneUserInfoData(userName, userPassword).getId(); userInfoVOBean.setName(userName); userInfoVOBean.se

29、tPassword(userPassword); boolean loginResult=userInfoManageImpleBean.doUserLogin(userInfoVOBean); if (loginResult) request.getSession().setAttribute(isLogin,true); return (mapping.findForward(stuLoginSuccess); else return (mapping.findForward(stuLoginFailure); case 2:TeacherInfoManageInterface Teach

30、erInfoManageImpleBean=new TeacherInfoManageImple(); TeacherInfoVO TeacherInfoVOBean=new TeacherInfoVO(); TeacherInfoVOBean.setName(userName); TeacherInfoVOBean.setPassword(userPassword);boolean teacherResult=TeacherInfoManageImpleBean.doTeacherLogin(TeacherInfoVOBean); if (teacherResult) return (map

31、ping.findForward(stuLoginSuccess); else return (mapping.findForward(stuLoginFailure); case 3: AdminInfoManageInterface AdminInfoManageImpleBean = new AdminInfoManageImple(); AdminInfoVO AdminInfoVOBean=new AdminInfoVO(); AdminInfoVOBean.setName(userName); AdminInfoVOBean.setPassword(userPassword); b

32、oolean AdminResult=AdminInfoManageImpleBean.doAdminLogin(AdminInfoVOBean); if (AdminResult) return (mapping.findForward(adminLoginSuccess); else return (mapping.findForward(adminLoginFailure); return null;而對應的系統數據庫表數據訪問的DAO組件的程序代碼示例如下:import java.sql.*;import java.util.ArrayList;ist;import com.stuma

33、n.model.*;import javax.servlet.*;import java.io.*;import javax.servlet. .*;public class UserManageDAOJDBCImple implements UserManageDAOInterface private java.sql.Connection con=null;ConnectDBInterface connectDBBean=null;public UserManageDAOJDBCImple() connectDBBean=new ConnectDBBean();public boolean

34、 InsertOneUserInfo(UserInfoPO oneUserInfoPO) String insert_SqlStatement=null;insert_SqlStatement=insert into student(stu_id,name,password ,department,sex,tel,email) values (?,?,?,?,?,?,?);con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement

35、,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setString(1, oneUserInfoPO.getId();pstmt.setString(2, oneUserInfoPO.getName();pstmt.setString(3, oneUserInfoPO.getPassword();pstmt.setString(4, oneUserInfoPO.getDepartment();pstmt.setString(5, oneUserInfoPO.getSex();Tel();pstmt.setSt

36、ring(7, oneUserInfoPO.getEmail();pstmt.executeUpdate();catch(SQLException e)System.out.println(在查詢數據庫表時出現錯誤!);return false;return true;public UserInfoPO SelectOneUserInfoData(String userName, String userPassWord) ResultSet rs=null;UserInfoPO oneUserInfo=null;String select_SqlStatement=null;select_Sq

37、lStatement=select * from student where name=+ userName+ and password=+userPassWord+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()oneUs

38、erInfo=new UserInfoPO(); /目前只轉換下面的幾個屬性oneUserInfo.setId(rs.getString(stu_id);oneUserInfo.setName(rs.getString(name);oneUserInfo.setPassword(rs.getString(password);elseoneUserInfo=null;catch(SQLException e)System.out.println(在查詢數據庫表時出現錯誤!);return oneUserInfo;public boolean UpdateOneStuInfo(UserInfoPO

39、 oneUserInfoPO)String insert_SqlStatement=null;insert_SqlStatement=update student set name=+oneUserInfoPO.getName()+,password =+oneUserInfoPO.getPassword()+,tel=+oneUserInfoPO.getTel()+,email=+oneUserInfoPO.getEmail()+where stu_id=+oneUserInfoPO.getId()+;con=connectDBBean.getConnection();tryjava.sql

40、.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在更新數據庫表時出現錯誤!);return false;return true;public boolean InsertCourseOneStuInfo(String stuid,String couid)Strin

41、g insert_SqlStatement=null;ResultSet rs=null;String select_SqlStatement=null;String stucourse=;String newcourse=;select_SqlStatement=select course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,Resul

42、tSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()stucourse=rs.getString(course);catch(SQLException e)System.out.println(在插入課程到學生數據庫表時出現錯誤!); if(stucourse=null) insert_SqlStatement=update student set course=+couid+ where stu_id=+stuid+;con=connectDBBean.get

43、Connection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在插入數據庫表時出現錯誤!);return false;return true; con=connectDBBean.getConnection();tryjava.sq

44、l.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在插入數據庫表時出現錯誤!);return false;return true;public List SelectAllUserInfoData()ArrayList results = new ArrayList

45、();try con=connectDBBean.getConnection();Statement sql = con.createStatement();ResultSet rs =sql.executeQuery(select stu_id,name,password,department,sex,tel,email from student);while (rs.next() UserInfoVO student = new UserInfoVO();student.setId(rs.getString(1);student.setName(rs.getString(2);studen

46、t.setPassword(rs.getString(3);student.setDepartment(rs.getString(4);student.setSex(rs.getString(5);student.setTel(rs.getString(6);student.setEmail(rs.getString(7);results.add(student); if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在選擇學生時查詢數據庫表時出現錯誤

47、!);return null;public boolean DeleteOneStudent(String stuid)try con=connectDBBean.getConnection();Statement sql = con.createStatement();sql.executeUpdate(delete from student where stu_id = +stuid+);catch(SQLException e) System.out.println(在刪除學生時查詢數據庫表時出現錯誤!); return false;return true;public List Sel

48、ectOneStudent(String stuid)ArrayList results = new ArrayList();try con=connectDBBean.getConnection();Statement sql = con.createStatement();ResultSet rs = sql.executeQuery(select stu_id,name,password,department,sex,tel,email from student where stu_id = +stuid+);while (rs.next() UserInfoVO student = n

49、ew UserInfoVO();student.setId(rs.getString(1);student.setName(rs.getString(2);student.setPassword(rs.getString(3);student.setDepartment(rs.getString(4);student.setSex(rs.getString(5);Tel(rs.getString(6);student.setEmail(rs.getString(7);results.add(student); if (results != null & results.size() 0) re

50、turn results; catch (SQLException e) System.out.println(在選擇一個學生時查詢數據庫表時出現錯誤!);return null; public boolean DeleteOneStudentCourse(String stuid,String couid) String insert_SqlStatement=null;ResultSet rs=null;String select_SqlStatement=null;String stucourse=;String newcourse=;select_SqlStatement=select

51、 course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()stucourse=rs.getString(course);catch(SQLExcept

52、ion e)System.out.println(在插入課程到學生數據庫表時出現錯誤!);String subString=null;int i=0;while(i 0) return results; catch (SQLException e) System.out.println(在查詢數據庫表時出現錯誤!);return null;public List getAllCourse()ArrayList results = new ArrayList();try ection();Statement sql = con.createStatement();(select cou_id,n

53、ame , mark , dep ,room ,prepare , time ,teacher from course);while (rs.next() Course courForStu = new Course();courForStu.setCouid(rs.getString(1);courForStu.setName(rs.getString(2);courForStu.setMark(rs.getInt(3);courForStu.setDep(rs.getString(4);courForStu.setRoom(rs.getString(5);courForStu.setPre

54、pare(rs.getString(6);g(7);courForStu.setTeacher(rs.getString(8);results.add(courForStu);if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在查詢數據庫表時出現錯誤!);return null; public boolean deleteOneCourse(String couid)try con=connectDBBean.getConnection();Stat

55、ement sql = con.createStatement();sql.executeUpdate(delete from course where cou_id = +couid+);catch(SQLException e)ut.println(在刪除課程時查詢數據庫表時出現錯誤!); return false;return true;public List getOneCourse(String couid)ArrayList results = new ArrayList();try con=connectDBBean.getConnection();Statement sql =

56、 con.createStatement();ResultS(select cou_id,name , mark , dep ,room ,prepare , time ,teacher from course where cou_id = +couid+);while (rs.next() Course courForStu = new Course();courForStu.setCouid(rs.getString(1);courForStu.setName(rs.getString(2);courForStu.setMark(rs.getInt(3);courForStu.setDep

57、(rs.getString(4);courForStu.setRoom(rs.getString(5);courForStu.setPrepare(rs.getString(6);courForStu.setTime(rs.getString(7);courForStu.setTeacher(rs.getString(8);results.add(courForStu);if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在得到某個課程信息查詢數據庫表

58、時出現錯誤!);return null; public List getOneStuCourse(String stuid) ArrayList results = new ArrayList(); ArrayList courseresults = new ArrayList(); String sel_SqlStatement=null;ResultSet rs=null; String select_SqlStatement=null;String stucourse=;String course=;int i=0;String subString=;select_SqlStatemen

59、t=select course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()course=rs.getString(course);while(icou

60、rse.length()subString=course.substring(i,i+4);results.add(subString);i=i+4;catch(SQLException e)System.out.println(在選擇學生課程時查詢數據庫表時出現錯誤!);i=0;while(i 0) return courseresults; return null;4、查看某學生所有的已選課程信息當某學生對自己的各個課程選擇完畢后,系統將會匯總出該學生的各個已選課列表信息。對應此功能的系統后臺Action程序類的代碼示例如下:import com.stuman.form.*;import

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論