【正文】
的方法來(lái)執(zhí)行刪除操作 //如果請(qǐng)求中包含刪除學(xué)生參數(shù) if (delete.equalsIgnoreCase(action)) { try{ //調(diào)用刪除學(xué)生方法 教務(wù)管理系統(tǒng) 39 success = doDelete(stu_id)。 num=(id)。 num=(sql)。 String sql=delete from student where id =39。 。 } 最后 在這里對(duì)發(fā)出添加的請(qǐng)求進(jìn)行調(diào)用添加的方法來(lái)執(zhí)行添加操作 //如果請(qǐng)求中包含新建學(xué)生參數(shù) if (new.equalsIgnoreCase(action)) { // 調(diào)用新建學(xué)生方法 stu = doNew(req,res)。 (sex)。 hasLogin(req,res,stu_id)){ (stu_id)。 教務(wù)管理系統(tǒng) 37 String sex = new String((sex).getBytes(ISO8859_1))。 String stu_id=(id)。)。,39。,39。 (1) 添加的實(shí)現(xiàn) 首先是在 JavaBean 類中封裝添加的方法 //添加學(xué)生 public void addStudent() { String sql=insert into student(name,password,id,sex,department,jiguan) + VALUES(39。 表 10 管理員 模塊中各頁(yè)面和 Java 類功能說(shuō)明 管理員 登錄后可以對(duì)學(xué)生信息、教師信息、課程信息、班級(jí)信息執(zhí)行增加、刪除、修改,具體流程如圖 22 所示: 頁(yè)面和 Java 類 功能描述 管理員登錄 頁(yè)面 添加新班級(jí)信息 添加新課程信息 添加新教師信息 添加新學(xué)生信息 顯示所有班級(jí) 顯示所有課程 顯示所有學(xué)生 顯示所有教師 更新班級(jí)信息 更新課程信息 更新學(xué)生個(gè)人信息 更新學(xué)生個(gè)人信息后確認(rèn)頁(yè)面 更新教師信息 用于封裝關(guān)于班級(jí)信息的業(yè)務(wù)邏輯方法的 JavaBean類 用于執(zhí)行添加、刪除、修改班級(jí)信息的 Servlet 類 用于封裝關(guān)于課程信息的業(yè)務(wù)邏輯方法的 JavaBean類 用于執(zhí)行添加、刪除、修改課程信息的 Servlet 類 用于封裝關(guān)于學(xué)生信息的業(yè)務(wù)邏輯方法的 JavaBean類 用于執(zhí)行添加、刪除、修改學(xué)生信息的 Servlet 類 用于封裝關(guān)于教師信息的業(yè)務(wù)邏輯方法的 JavaBean類 用于執(zhí)行添加、刪除、修改教師信息的 Servlet 類 教務(wù)管理系統(tǒng) 35 A d m i n . j s p學(xué) 生教 師課 程班 級(jí)g e t T e a c h e r . j s p更 新刪 除新 建T e a c h e r ( B e a n )T e a c h e r S v l t調(diào) 用 , 初 始 化t e a c h e r ( B e a n )連 接 數(shù) 據(jù) 庫(kù) ( s q l B e a n )a d d T e a c h e r . j s pU p d a t e t e a . j s pE r r o r p a g e . j s pg e t S t u d e n t . j s p更 新刪 除新 建s t u d e n t ( B e a n )S t u d e n t S v l t調(diào) 用 , 初 始 化s t u d e n t ( B e a n )連 接 數(shù) 據(jù) 庫(kù) ( s q l B e a n )a d d S t u d e n t . j s pU p d a t e s t u . j s pE r r o r p a g e . j s pg e t C o u r s e . j s p更 新刪 除新 建T e a c h e r ( B e a n )C o u r s e S v l t調(diào) 用 , 初 始 化c o u r s e ( B e a n )連 接 數(shù) 據(jù) 庫(kù) ( s q l B e a n )a d d c o u r s e . j s pU p d a t e c o u r . j s pE r r o r p a g e . j s pg e t C l a s s . j s p更 新刪 除新 建c l a s s p ( B e a n )C l a s s S v l t調(diào) 用 , 初 始 化c l a s s p ( B e a n )連 接 數(shù) 據(jù) 庫(kù) ( s q l B e a n )a d d c l a s s . j s pU p d a t e c l a s s . j s pE r r o r p a g e . j s p數(shù) 據(jù) 圖 22 管理員模塊 教務(wù)管理系統(tǒng) 36 } + and = + and = 。 num= (pw1,id,e_mail,tel)。 } } (2) 修改學(xué)生信息 public void doUpdate(HttpServletRequest req, HttpServletResponse res, String pw1,String pw2,String e_mail,String tel,String id) throws ServletException, IOException{ 教務(wù)管理系統(tǒng) 32 int num=0。 //如果預(yù)修課學(xué)分為 0,則注冊(cè) if((0) ) { num= (class_id,stu_id)。 return num。+id+39。+e_mail+39。 } (3) 更新學(xué)生信息 public int updatestu(String pw,String id,String e_mail,String tel){ int num=0。 sqlBean db = new sqlBean()。 } (2) 根據(jù)學(xué)生的 ID,獲得其全部的學(xué)分 public String getTotalMark(String id){ String temp=0。) 。)+ and ( = or =39。 獲取所帶班級(jí)及學(xué)生信息如圖 17 所 示 : 圖 17 獲取所帶班級(jí)及學(xué)生信息 學(xué)生模塊的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生模塊包括以下頁(yè)面: JavaBean 類和 Servlet 類,如表 9 所示。 } (4) 根據(jù)班級(jí) ID,得到學(xué)生的詳細(xì)信息 public determine doAccept(String class_id){ determine deter = new determine()。 return deter。 if(num==0) doError(req,res,更新失??! )。 if(num==0) doError(req,res,更新失敗! )。 try{ temp=(score)。 int temp=0。 num=(sql)。 + and class_id=39。 教務(wù)管理系統(tǒng) 26 String sql=update enrol + set score=39。 sqlBean db = new sqlBean()。+stu_id+39。 ResultSet rs = (sql)。 + and = + and =39。 } 教務(wù)管理系統(tǒng) 25 public ResultSet getStudents2(String class_id){ String sql=select ,name ,department,sex,mark,e_mail,tel + from student,enrol,classes + where = + and =39。 。 } (2) 根據(jù)班級(jí) ID查詢學(xué)生的具體信息 public ResultSet getStudents(String class_id){ String sql=select ,name ,department,sex,mark,e_mail,tel + from student,enrol,classes + where = + and =39。 。 表 8 教師模塊中各頁(yè)面和 Java 類功能說(shuō)明 教師 成功登錄到教師頁(yè)面 后 可以查看所帶班級(jí)和課程,從而 查詢學(xué)生信息,并且好好 可以顯示選擇該課程的學(xué)生列表,并且給學(xué)生打分, 其具體流程如圖 16 所示。 (req, res)。 (req, res)。 //對(duì)比查詢出的密碼和用戶輸入的密碼是否匹配 if( (temp)) //密碼輸入正確,調(diào)用 goo方法 goo(req,res,kind)。+id+39。 //接收用戶級(jí)別 kind=(kind)。 //將用戶登錄名存入 session中 (id,(id))。 //離開函數(shù) } //將光標(biāo)移至帳號(hào)輸入欄 return false。 表 7 用戶登錄模塊中各頁(yè)面和 Java 類功能說(shuō)明 用戶首先通過 進(jìn)行登錄, 并對(duì)用戶的登錄信息輸入框進(jìn)行前臺(tái)腳本驗(yàn) 證, 然后調(diào)用 Servlet 類 login_confirm, 接收登錄用戶的級(jí)別、用戶名和密碼, 再用 sqlBean 對(duì) 用戶 進(jìn)行登錄 信息的驗(yàn)證,最后根據(jù)用戶的級(jí)別轉(zhuǎn)向不同的頁(yè)面,其具體流程如圖 13 所示。 頁(yè)面部分由 JSP 來(lái)實(shí)現(xiàn),重用比較多的邏輯代碼可以封裝在 JavaBean 中,需要用的時(shí)候就用 Servlet 來(lái)進(jìn)行調(diào)用,因?yàn)閿?shù)據(jù)庫(kù)用的次數(shù)比較頻繁,因而我們也將連接數(shù)據(jù)庫(kù)和增刪改查的方法封裝在 sqlBean 中,這樣就方便 Servlet 進(jìn)行調(diào)用。學(xué)生登錄系統(tǒng)后,可以修改個(gè)人信息、選課和查看學(xué)分。該系統(tǒng)的適用對(duì)象包括學(xué)生、教師和管理員,因此包括 3 個(gè)基本的流程。 各個(gè)數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系如圖 5 所示 圖 5 數(shù)據(jù)表關(guān)聯(lián)關(guān)系 教務(wù)管理系統(tǒng) 11 系統(tǒng) ER 圖 系統(tǒng)實(shí)體關(guān)系模型 :管理員管理學(xué)生,教師,班級(jí),課程,管理員和學(xué)生、教師、班級(jí)、課程是一對(duì)多的關(guān)系,教師和課程是一對(duì)多的關(guān)系, 學(xué)生與課程是多對(duì)多的關(guān)系。 admin(管理員信息表),存放管理員的基本信息,如表 5 所示。 teacher(教師 信息表 ) ,存放 教師的基本信息,如表 3 所示。 classes(班級(jí)信息表),存放所有班級(jí)的基本信息,如表 1 所示。這些功能使您得以快速交付 SQL Server 應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序 。復(fù)制同樣使您得以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步。 SQL Server 2021 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大 Web 站點(diǎn)所需的性能級(jí)別。 SQL Server 2021 的特性 包括 : (1) Inter 集成 SQL Server 2021 數(shù)據(jù)庫(kù)引擎提供完整的 XML 支持。除此之外,在更改或新增時(shí) 名稱, ID 或者密碼不可為空,否則系統(tǒng)會(huì)有相關(guān)提示。 圖 3 學(xué)生模塊功能 管理員模塊功能分析 管理員在本系統(tǒng)中擁有最高權(quán)限,包括修改學(xué)生、教師、課程以及班級(jí)信息。其次,學(xué)生可以查看自己的成績(jī),包括該學(xué)生已選課程的名稱,學(xué)分以及該學(xué)生的總分。 圖 2 教師模塊功能 學(xué)生模塊功能分析 學(xué)生登錄以后,可以選報(bào)課程。