版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄第1章概述11.1 系統(tǒng)目的和意義11.2 系統(tǒng)開發(fā)環(huán)境11.3 系統(tǒng)開發(fā)模式及基本功能1第2章系統(tǒng)設(shè)計32.1系統(tǒng)的模塊劃分32.2數(shù)據(jù)庫設(shè)計4第3章系統(tǒng)的詳細設(shè)計及實現(xiàn)63.1數(shù)據(jù)庫底層訪問類63.2 登錄模塊83.3 后臺管理系統(tǒng)首頁面導(dǎo)航103.4 教師信息管理113.5 論著信息管理203.6科研項目信息管理283.7 前臺瀏覽模塊35結(jié)論43參考文獻44第1章 概 述1.1 系統(tǒng)目的和意義教師信息管理系統(tǒng)是一所院校在各種信息管理中的一部分,對于學(xué)校管理者來說是很重要的,所以所設(shè)計的系統(tǒng)應(yīng)該能為管理者提供教師的基本信息管理手段和一些方便的查詢方式。本次課程設(shè)計的題目是“基于MV
2、C模式的教師信息管理系統(tǒng)”的設(shè)計與實現(xiàn),該設(shè)計是對本學(xué)期前八周所學(xué)的JSP程序設(shè)計課程的鞏固和深入應(yīng)用,同時結(jié)合Java語言、JSP技術(shù)進行Web程序設(shè)計,利用前面學(xué)過的知識和上網(wǎng)學(xué)習(xí)來解決實際問題,鍛煉解決問題的能力和動手編程的能力。同時使用目前企業(yè)實際開發(fā)中比較成熟的MVC模式進行系統(tǒng)的整體架構(gòu)設(shè)計,有效分離模塊、功能之間的代碼耦合關(guān)系,并逐步理解軟件開發(fā)步驟和軟件工程思想1。1.2 系統(tǒng)開發(fā)環(huán)境1 本系統(tǒng)采用Browser/Server體系結(jié)構(gòu)2 系統(tǒng)開發(fā)環(huán)境1) 開發(fā)平臺:MyEclipse GA2) 開發(fā)語言:JSP、Java3) 數(shù)據(jù)庫:Microsoft SQLServer200
3、53 系統(tǒng)運行環(huán)境客戶端:瀏覽器:IE6.0服務(wù)器端:數(shù)據(jù)庫:Microsoft SQLServer2005應(yīng)用程序系統(tǒng)1.3 系統(tǒng)開發(fā)模式及基本功能本系統(tǒng)是基于MVC模式設(shè)計和開發(fā)的,MVC模式包括模型(Model)JavaBean 代表應(yīng)用程序和業(yè)務(wù)邏輯。視圖(View)JSP提供可交互的客戶界面,向客戶顯示模型數(shù)據(jù)??刂破鳎–ontroller)Servlet根據(jù)客戶的請求來操縱模型,并把結(jié)果經(jīng)由視圖展現(xiàn)給客戶2。MVC優(yōu)點:代碼的重用性,有利于開發(fā)的分工各司其職、互不干涉。MVC編程思路:Servlet接受客戶端請求,并調(diào)用業(yè)務(wù)類的方法進行數(shù)據(jù)處理,Servlet根據(jù)數(shù)據(jù)處理的結(jié)果,控
4、制下一個顯示的HTML或者JSP頁面?;贛VC模式的教師信息管理系統(tǒng)主要實現(xiàn)前臺和后臺兩部分功能設(shè)計,其中前臺主要實現(xiàn)教師登錄的瀏覽和查詢功能,其中,主要是全部教師信息的分頁瀏覽,全部教師論著的分頁瀏覽,全部科研項目的分頁瀏覽。后臺主要實現(xiàn)管理員登錄后的添加、刪除、修改、查詢和批量刪除功能,其中,主要是教師基本信息的添加、刪除、修改、批量刪除以及按編號和教師姓名的多條件查詢和瀏覽,其次論著信息的添加、刪除、修改、批量刪除以及按編號和教師姓名的多條件查詢和瀏覽,最后是科研項目信息的添加、刪除、修改、批量刪除以及按編號和教師姓名的多條件查詢和瀏覽。第2章系統(tǒng)設(shè)計2.1系統(tǒng)的模塊劃分教師信息管理系
5、統(tǒng)是一種通常由管理員管理、維護,可以讓教師查詢、瀏覽的網(wǎng)站。教師的信息通常教師工號,以正序方式由小到大排列展示出來。經(jīng)過需求分析,教師信息管理系統(tǒng)主要包括以下幾個功能模塊:1、登錄模塊模塊功能詳細介紹:教師和系統(tǒng)管理員進行登錄操作,擁有不同的權(quán)限和功能。2、教師信息管理模塊模塊功能詳細介紹:對教師信息進行增刪改查操作。3、論著信息管理模塊模塊功能詳細介紹:對教師論著信息進行管理。4、科研項目管理模塊模塊功能詳細介紹:對教師的科研項目進行管理。系統(tǒng)功能模塊圖如下圖2-1所示: 教師信息管理系統(tǒng)用戶登錄管理教師信息管理論著信息管理科研項目管理教師登錄管理員登錄論著信息維護論著信息查詢項目信息維護項
6、目信息查詢教師信息查詢教師信息維護圖2-1系統(tǒng)功能模塊圖2.2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫管理系統(tǒng)是允許用戶在計算機上建立、使用和維護數(shù)據(jù)庫,增加、修改、刪除、排序和檢索數(shù)據(jù)庫中的數(shù)據(jù),并使用數(shù)據(jù)庫中的數(shù)據(jù)創(chuàng)建表格和報表的軟件系統(tǒng)。它可使多個應(yīng)用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。數(shù)據(jù)庫的設(shè)計是整個系統(tǒng)成敗的一個重要環(huán)節(jié)。合理的數(shù)據(jù)庫設(shè)計能夠給系統(tǒng)帶來很好的效率。而且能夠使得各個功能模塊的設(shè)計變得非常簡單而且模塊間的關(guān)系特別明確。本系統(tǒng)的數(shù)據(jù)庫是在SQL Server2005中創(chuàng)建的3。根據(jù)前面的分析,教師信息管理系統(tǒng)數(shù)據(jù)庫共包含4個表,包括用戶信息表(T_user)、教師信息
7、表(T_teacher)、論著信息表(T_lunzhu)、科研項目信息表(T_keyan)。1、 用戶信息表 表2-1所示是用戶信息表結(jié)構(gòu),用于記錄用戶基本信息,包括賬號、密碼、用戶類型。表2-1 用戶信息表列名說明數(shù)據(jù)類型約束id用戶賬號nvarchar(20)主鍵psw用戶密碼nvarchar(20)非空userType用戶類型nvarchar(10) 非空2、 教師信息表表2-2是教師信息表結(jié)構(gòu),用于記錄教師信息,包括教師基本信息和院系信息等。表2-2 教師信息表列名說明數(shù)據(jù)類型約束id教師工號nvarchar(20)主鍵name教師名nvarchar(20)非空password密碼nv
8、archar(20)非空gender性別nvarchar(20)非空department所在院系nvarchar(20)jurisdiction權(quán)限nvarchar(20)3、 論著信息表表2-3是論著信息表結(jié)構(gòu),用于記錄教師論著信息,包括論著編號、論著書名、出版社等。表2-3 論著信息表列名說明數(shù)據(jù)類型約束id論著編號nvarchar(20)主鍵name論著書名nvarchar(20)非空press出版社nvarchar(20)Tid教師編號nvarchar(20)4、 科研項目信息表表2-4是科研項目信息表結(jié)構(gòu),用于記錄教師科研項目信息,包括項目編號、項目名稱等。表2-4 科研項目信息表列
9、名說明數(shù)據(jù)類型約束id項目編號nvarchar(20)主鍵name項目名稱nvarchar(20)非空Tid教師編號nvarchar(20)以上就是教師信息管理系統(tǒng)所需的數(shù)據(jù)表,按照這些表結(jié)構(gòu)設(shè)計,在Microsoft SQLServer2005中創(chuàng)建數(shù)據(jù)庫Teacher,并創(chuàng)建相應(yīng)的表。第3章系統(tǒng)的詳細設(shè)計及實現(xiàn)3.1數(shù)據(jù)庫底層訪問類本系統(tǒng)的設(shè)計使用基于Servlet的MVC架構(gòu)模式,將系統(tǒng)的各個功能的實現(xiàn)過程嚴格的劃分為視圖(View)、控制(Controller)、模型(Model),其中View負責(zé)界面的顯示,Controller負責(zé)請求的轉(zhuǎn)發(fā)和響應(yīng),Model負責(zé)邏輯業(yè)務(wù)對象實體和業(yè)
10、務(wù)實體。由于本系統(tǒng)是一種信息管理系統(tǒng),在這三層之下,還要建立數(shù)據(jù)庫訪問層,該層完成數(shù)據(jù)庫的連接、SQL語句的具體執(zhí)行等操作。這一層由MVC模式中的Model層里的業(yè)務(wù)實體進行調(diào)用,從而完成邏輯業(yè)務(wù)的信息維護操作。JDBC數(shù)據(jù)庫訪問技術(shù)JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。系統(tǒng)與數(shù)據(jù)庫的連接需要的準備工作,下載JDBC驅(qū)動包,將驅(qū)動包復(fù)制到TeacherManagerWebRootWEB-INFlib文件夾下。完成導(dǎo)入驅(qū)動包4。添
11、加DBManager公共類首先創(chuàng)建包nepu.ldz.tools,在該包下創(chuàng)建名為DBManager的類,該類得職責(zé)用于提供訪問、操作數(shù)據(jù)庫的公共方法。添加公共類的方法和步驟如下:在工程中的包名上點右鍵,選擇【New】>【Class】菜單項,將彈出【New Java Class】對話框,保留默認的選擇,在Name文本框中輸入DBManager,點擊Finish按鈕。編寫公共方法小節(jié)為項目添加了一個DBManager類,該類用于存放連接、操作數(shù)據(jù)庫的公共方法,本小節(jié)介紹如何編寫這些公共方法。首先為DBManager類聲明幾個公共變量,其中conn為數(shù)據(jù)庫連接對象,rs為結(jié)果集對象,stmt
12、用于向數(shù)據(jù)庫發(fā)送要執(zhí)行的SQL語句,路徑 uri,用戶名 sa,密碼 123456。1、數(shù)據(jù)庫連接方法getConnection()先加載數(shù)據(jù)庫連接驅(qū)動,然后獲取數(shù)據(jù)庫連接,然后進行判斷,檢查是否獲取數(shù)據(jù)庫連接成功,并且捕獲加載數(shù)據(jù)庫驅(qū)動的異常和獲取連接的異常。getConnection方法的關(guān)鍵代碼如下:private Connection getConnection() try / 加載數(shù)據(jù)連接驅(qū)動Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/ 獲取數(shù)據(jù)庫連接conn = DriverMan
13、ager.getConnection(uri, user, password);if (conn != null)System.out.println("數(shù)據(jù)庫連接成功"); catch (ClassNotFoundException e) System.out.println("數(shù)據(jù)庫驅(qū)動加載錯誤"); catch (SQLException e) System.out.println("獲取連接錯誤");return conn;2、數(shù)據(jù)庫查詢方法executeQuery()先建立Statement對象,再建立ResultSet(結(jié)
14、果集)對象,并執(zhí)行傳參過來的SQL語句,并且捕獲SQL語句執(zhí)行的異常。 executeQuery方法的關(guān)鍵代碼如下: public ResultSet executeQuery(String sql) try stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch (SQLException e) System.out.println("sql execute failure");e.printStackTrace();return rs;3、數(shù)據(jù)庫增刪改的操作方法executeUpdate()先建立
15、Statement對象,再建立ResultSet(結(jié)果集)對象,并執(zhí)行傳參過來的SQL語句,并且捕獲SQL語句執(zhí)行的異常。executeUpdate方法的關(guān)鍵代碼如下:public int executeUpdate(String sql) try stmt = conn.createStatement(); return stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return 0; 3.2 登錄模塊登錄是每一個成功項目中不可缺少的
16、模塊,好的登錄模塊可以保證系統(tǒng)的可靠性和安全性。本節(jié)首先嚴格按照MVC架構(gòu)模式為教師信息管理系統(tǒng)制作了一個簡單的登錄模塊,登錄分為兩個權(quán)限登錄,分別是普通教師登錄和管理員登錄,管理員登錄成功后,應(yīng)當(dāng)進入該系統(tǒng)的后臺管理系統(tǒng),普通教師登錄成功之后,應(yīng)當(dāng)進入該系統(tǒng)的前臺管理系統(tǒng)。因此本節(jié)還詳細介紹了主窗體的設(shè)計。按照MVC模式進行構(gòu)建登錄功能的開發(fā),對該模塊的文件構(gòu)建說明如下(1)Model層:在nepu.ldz.model包中添加用戶類別的實體Javabean,類名為Usermodel。在nepu.ldz.DAO包中添加業(yè)務(wù)Javabean,類名為UserDAO。其中Usermodel類包含3個
17、屬性,分別是ID、密碼和權(quán)限,同時在該類中添加屬性的set、get方法,User類的屬性定義部分代碼如下: public class Usermodel private String Uid= ""private String Upsw= ""private String Utype= ""(2)Controller層:在nepu.ldz.Servlet中添加類UserServlet,該servlet主要負責(zé)登錄以及管理員相關(guān)操作的流程控制。(3)View層:在Webroot文件夾下添加名為login.jsp的JSP文件。 View層
18、構(gòu)建首先在MyEclipse的項目的WebRoot目錄中建立JSP頁面,在該頁面中編寫表單代碼,其中注意表單的action屬性為該表單信息提交的服務(wù)端URL地址,method屬性為提交方式。在這里由于是按照MVC模式,將信息提交給Servlet,因此method必須post。同時為避免復(fù)雜的URL的路徑邏輯關(guān)系,統(tǒng)一使用絕對路徑。圖3-1 登錄界面設(shè)計 Model層構(gòu)建在業(yè)務(wù)Javabean類UserDAO中建立方法login(),實現(xiàn)過程中借助DBManager數(shù)據(jù)庫底層操作類,實現(xiàn)用戶登錄的判斷。該方法需要接收由servlet傳遞過來3個參數(shù),一個是用戶名name,另一個是密碼passwo
19、rd,最后是權(quán)限state,調(diào)用DBManger數(shù)據(jù)庫底層操作類的executeQuery()方法實現(xiàn)sql查詢,sql語句如下:String sql="select * from T_user where id='"+name+"' and psw='"+password+"' and userType='"+state+"'" 實例化DBManager,調(diào)用executeQuery()方法,對數(shù)據(jù)庫中的信息進行查詢,代碼如下: DBManager db = new
20、 DBManager(); ResultSet rs = db.executeQuery(sql); 判斷是否查詢出結(jié)果,如果rs.next是空,則沒有此權(quán)限此人信息,如果rs.next有結(jié)果則t=1,傳給servlet使其獲得結(jié)果,并知道此權(quán)限此人信息,代碼如下: if(rs.next() return 1;return t; Controller層構(gòu)建在UserServlet添加方法Login(),在該方法中完成登錄的邏輯判斷。首先需要通過方法request.getParameter()來接收由login.jsp頁面?zhèn)鬟f過來的參數(shù)編號(name)、密碼(password)和權(quán)限(state
21、),在進行必要的參數(shù)轉(zhuǎn)碼或合法性判定后調(diào)用Model層的業(yè)務(wù)javaBean UserDAO的登錄方法實現(xiàn)登錄判定,登錄成功后需要注意將用戶名用session進行存儲,這樣,在用戶多次請求和響應(yīng)之后都可以由session中取出用戶名展示或判斷用戶是否登錄。最后,在servlet中使用response.sendRedirect()方法跳轉(zhuǎn)到管理后臺的首頁面。UserServelt中的Login()方法關(guān)鍵代碼如下:String name =new String(request.getParameter("name").getBytes("ISO-8859-1&quo
22、t;),"GB2312");String password = request.getParameter("password");String state=new String(request.getParameter("state").getBytes("ISO-8859-1"),"GB2312");if(state.equals("1")state="普通教師"else state="管理員"UserDAO userDAO = ne
23、w UserDAO();int t = userDAO.login(name, password,state);HttpSession session=request.getSession();session.setAttribute("name", name);if(t=1)session.setAttribute("username", name);if(state.equals("普通教師") response.sendRedirect("front/FrontIndex.jsp");if(state.equ
24、als("管理員") response.sendRedirect("admin/AdminIndex.jsp");elseresponse.sendRedirect("login.jsp?operate=faile");t=1時,判斷用戶權(quán)限,普通教師跳轉(zhuǎn)到front/FrontIndex.jsp頁面,管理員跳轉(zhuǎn)到admin/AdminIndex.jsp頁面。否則跳轉(zhuǎn)回到login.jsp頁面。3.3 后臺管理系統(tǒng)首頁面導(dǎo)航整個教師信息后臺管理系統(tǒng)的界面設(shè)計是左側(cè)導(dǎo)航的結(jié)構(gòu),如圖3-2所示,系統(tǒng)幾乎所有的jsp頁面都具有大致類似的頁面
25、結(jié)構(gòu)和風(fēng)格,例如,相同的頁面頭部、左側(cè)導(dǎo)航和頁腳,因此,為了頁面編碼的方便和代碼的可重用性,系統(tǒng)設(shè)計了一些公用的頁面文件,主要包括AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp,通過include指令標記將AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp嵌入到AdminIndex.jsp頁面中,這樣,編碼工作將主要集中在左側(cè)導(dǎo)航AdminLeft.jsp和AdminIndex.jsp頁面。其他新增的功能頁面的設(shè)計思路類似,在這里就不再贅述了。AdminIndex.jsp界面的瀏覽效果如圖3-2所示:圖3-2 后臺管理首頁面瀏覽效果3
26、.4 教師信息管理教師信息管理是教師信息管理系統(tǒng)的主要模塊,其中包括對教師信息的瀏覽,添加,修改,刪除,查詢,批量刪除的功能。以便于管理員對教師信息的維護和修改。按照MVC模式對該模塊進行功能的開發(fā),對該模塊的文件構(gòu)建說明如下(1)Model層:在nepu.ldz.model包中添加教師類別的實體Javabean,類名為Teachermodel。在nepu.ldz.DAO包中添加業(yè)務(wù)Javabean,類名為UserDAO。其中Teachermodel類包含6個屬性,分別是編號、姓名、密碼、性別、所屬院系和權(quán)限,同時在該類中添加屬性的set、get方法,Teachermodel類的屬性定義部分代
27、碼如下: public class Teachermodel private String Tid = ""private String Tname = ""private String Tpassword = ""private String Tgender = ""private String Tdepar= ""private String Tjur= ""(2)Controller層:在nepu.ldz.Servlet中添加類UserServlet,該servlet主
28、要負責(zé)有關(guān)教師信息操作請求和響應(yīng)。(3)View層:在Webroot文件夾下添加名為admin的文件夾,并建立TeacherList.jsp、AddTeacher.jsp、UpdateTeacher.jsp、SelectTeacher.jsp四個頁面。 添加教師信息1、View層構(gòu)建用于添加教師信息的AddTeacher.jsp設(shè)計如圖3-3所示,輸入教師編號,姓名,密碼,性別,所在院系和權(quán)限。點擊保存按鈕,即可完成教師信息的添加。圖3-3 教師信息添加界面2、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法Addteacher(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助
29、DBManager類來進行實現(xiàn)添加功能,此sql語句是插入有表單提交的教師的基本信息,sql語句為:String sql = "insert into T_teacher values('"+ teacher.getTid() +"','"+ teacher.getTname() +"','"+ teacher.getTpassword() +"','"+ teacher.getTgender() +"','"+ teach
30、er.getTdepar() +"','"+ teacher.getTjur() +"')"實例化db來執(zhí)行executeUpdate(sql)方法。執(zhí)行sql語句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if(count>0) t = true;db.releaseResource();return t;3、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doAd
31、dteacher(),在該方法中完成教師信息的添加。該方法的代碼主要是接收參數(shù),包括編號,姓名,密碼,性別,所在院系和權(quán)限。String Tid = request.getParameter("Tid");String Tname =new String(request.getParameter("Tname").getBytes("ISO-8859-1"),"GB2312");String Tpassword = request.getParameter("Tpassword");String
32、 Tgender =new String(request.getParameter("Tgender").getBytes("ISO-8859-1"),"GB2312");String Tdepartment = new String(request.getParameter("Tdepar").getBytes("ISO-8859-1"),"GB2312");String Tjur = new String(request.getParameter("Tjur&q
33、uot;).getBytes("ISO-8859-1"),"GB2312");實例化UserDAO,來執(zhí)行Addteacher()方法,進行添加教師的信息,即傳來的參數(shù),將信息封裝,代碼如下:UserDAO userDAO = new UserDAO();Teachermodel teacher = new Teachermodel();teacher.setTid(Tid);teacher.setTname(Tname);teacher.setTpassword(Tpassword);teacher.setTgender(Tgender);teache
34、r.setTdepar(Tdepartment);teacher.setTjur(Tjur);userDAO.Addteacher(teacher);傳參并跳轉(zhuǎn)頁面,直接運用UserServlet里的瀏覽教師信息的方法doQueryTeacherList()即可。this.doQueryTeacherList(request, response); 瀏覽教師信息1、View層構(gòu)建用于瀏覽,修改,刪除教師信息的TeacherList.jsp頁面,在點擊“瀏覽/修改/刪除教師”時即可展示出來,設(shè)計如圖3-4所示。2、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法queryTeac
35、herList(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助DBManager類來進行實現(xiàn)瀏覽功能,此sql語句是瀏覽數(shù)據(jù)庫中的教師的基本信息,sql語句為: String sql = "select * from T_teacher"實例化db來執(zhí)行executeQuery(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeQuery(sql);圖3-4教師信息瀏覽界面判斷rs.next中是否有內(nèi)容,如果有實例化Teachermodel,并取出id,name,password,gender,d
36、epar,jur,并放入實例化后的teacher中,代碼如下:while(rs.next()Teachermodel teacher = new Teachermodel();teacher.setTid(rs.getString(1);teacher.setTname(rs.getString(2);teacher.setTpassword(rs.getString(3);teacher.setTgender(rs.getString(4);teacher.setTdepar(rs.getString(5);teacher.setTjur(rs.getString(6);把整個teacher
37、中的信息放入teacherList中,再進行循環(huán)添加,直到rs中沒有內(nèi)容為止,代碼如下:teacherList.add(teacher);最后釋放數(shù)據(jù)庫資源,代碼如下:db.releaseResource(); catch (SQLException e) e.printStackTrace();return teacherList;3、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doQueryTeacherList(),在該方法中完成教師信息的瀏覽。該方法的代碼主要是將UserDAO中獲取出來的teacherList
38、傳遞過去,然后進行頁面的跳轉(zhuǎn)即可完成瀏覽功能,代碼如下:ArrayList teacherList = new ArrayList();UserDAO userDAO = new UserDAO();teacherList = userDAO.queryTeacherList();request.setAttribute("teacherList", teacherList);RequestDispatcher rd = request.getRequestDispatcher("admin/TeacherList.jsp");rd.forward(re
39、quest, response); 修改教師信息1、View層構(gòu)建用于修改教師基本信息的UpdateTeacher.jsp,在點擊教師信息后面的“修改”時即可展示出來,設(shè)計如圖3-5所示。圖3-5教師信息修改界面2、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法Updateteacher(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助DBManager類來進行實現(xiàn)添加功能,此sql語句是瀏覽數(shù)據(jù)庫中的教師的基本信息,sql語句為:String sql = "update T_teacher set name='"+ teacher.getTnam
40、e() +"',password = '"+ teacher.getTpassword() +"',gender = '"+ teacher.getTgender() +"',department = '"+ teacher.getTdepar() +"',jurisdiction = '"+ teacher.getTjur() +"' where id = '"+ teacher.getTid() +"&
41、#39;"實例化db來執(zhí)行executeUpdate(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeUpdate(sql);3、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doUpdateteacher(),在該方法中完成教師信息的修改。該方法的代碼主要是接收參數(shù),包括編號,姓名,密碼,性別,所在院系和權(quán)限。String id = request.getParameter("id");String name =
42、 new String(request.getParameter("name").getBytes("ISO-8859-1"), "GB2312");String password = request.getParameter("password");String gender = new String(request.getParameter("gender").getBytes("ISO-8859-1"), "GB2312");String depar
43、tment = new String(request.getParameter("department").getBytes("ISO-8859-1"), "GB2312");String jur = new String(request.getParameter("jur").getBytes("ISO-8859-1"), "GB2312");實例化UserDAO,來執(zhí)行Updateteacher()方法,進行修改教師的信息,即傳來的參數(shù),實例化Teachermodel,代
44、碼如下:Teachermodel teacher = new Teachermodel();teacher.setTid(id);teacher.setTname(name);teacher.setTpassword(password);teacher.setTgender(gender);teacher.setTdepar(department);teacher.setTjur(jur);UserDAO userDAO = new UserDAO();userDAO.Updateteacher(teacher);然后進行頁面的跳轉(zhuǎn)即可完成修改功能,代碼如下:this.doQueryTeach
45、erList(request, response); 刪除教師信息1、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法Deleteteacher(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助DBManager類來進行實現(xiàn)刪除功能,此sql語句是刪除數(shù)據(jù)庫中的教師信息,sql語句為:String sql = "delete from T_teacher where id = '"+ teacher.getTid() +"'"實例化db來執(zhí)行executeUpdate(sql)方法。DBManager db = new D
46、BManager();ResultSet rs = db.executeUpdate(sql);2、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doDeleteteacher(),在該方法中完成教師信息的刪除。該方法的代碼主要是接收參數(shù)id,實例化Teachermodel,并實例化UserDAO,來執(zhí)行Deleteteacher()方法,進行刪除教師的信息,代碼如下:String id = request.getParameter("number");Teachermodel teacher=new
47、 Teachermodel();teacher.setTid(id);UserDAO userDAO=new UserDAO();userDAO.Deleteteacher(teacher);然后進行頁面的跳轉(zhuǎn)即可完成刪除功能,代碼如下:this.doQueryTeacherList(request, response); 批量刪除教師信息1、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法DeleteAllteacher(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助DBManager類來進行實現(xiàn)批量刪除功能,此sql語句是批量刪除數(shù)據(jù)庫中的教師信息,先實例化db,根據(jù)傳遞
48、過來的Tlist,求其長度,然后循環(huán)做字符串的拼接,最后執(zhí)行executeUpdate(sql)方法。代碼如下:DBManager db = new DBManager();for(int i=0;i<Tlist.length;i+)sql = "delete from T_teacher where id = '"+ Tlisti +"'"System.out.println(sql);count = db.executeUpdate(sql);2、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與
49、響應(yīng)。為UserServlet添加方法doDeleteAllteacher(),在該方法中完成教師信息的批量刪除。該方法的代碼主要是接收Tlist,獲取復(fù)選框中的信息,進行批量刪除,實例化Teachermodel,并實例化UserDAO,來執(zhí)行DeleteAllteacher()方法,進行批量刪除教師的信息,代碼如下:String Tlist = request.getParameterValues("deleteAll");UserDAO userDAO = new UserDAO();userDAO.DeleteAllteacher(Tlist);然后進行頁面的跳轉(zhuǎn)即可
50、完成刪除功能,代碼如下:this.doQueryTeacherList(request, response);多條件查詢教師信息1、View層構(gòu)建用于查詢教師基本信息的SelectTeacher.jsp,在點擊教師信息頁面的“查詢”時即可展示出來,設(shè)計如圖3-6所示。圖3-6教師信息查詢界面2、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法queryByConditionTeacher(),該方法能夠根據(jù)傳來的sql語句,借助DBManager類來進行實現(xiàn)添加功能,此sql語句是瀏覽數(shù)據(jù)庫中的教師的基本信息。實例化db來執(zhí)行executeUpdate(sql)方法。DBMan
51、ager db = new DBManager();ResultSet rs = db.executeUpdate(sql);ArrayList al = new ArrayList();判斷rs.next中是否有內(nèi)容,如果有實例化Teachermodel,并取出id,name,password,gender,depar,jur,并放入實例化后的teacher中,代碼如下:while(rs.next()Teachermodel teacher = new Teachermodel();teacher.setTid(rs.getString(1);teacher.setTname(rs.getS
52、tring(2);teacher.setTpassword(rs.getString(3);teacher.setTgender(rs.getString(4);teacher.setTdepar(rs.getString(5);teacher.setTjur(rs.getString(6);把整個teacher中的信息放入al中,再進行循環(huán)添加,直到rs中沒有內(nèi)容為止,代碼如下:al.add(teacher);最后返回al。return al;3、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doQueryTeache
53、r(),在該方法中完成查詢教師信息。該方法的代碼主要是接收復(fù)選的條件以及textbox里的參數(shù),并根據(jù)所選條件判斷,拼接sql語句。代碼如下:String choice = request.getParameterValues("choice");String name = request.getParameter("name");if(!name.equals("")name = new String(request.getParameter("name").getBytes("ISO-8859-1&q
54、uot;),"GB2312");String sql = "select * from T_teacher where "System.out.println(sql);if(choice!=null)if(choice.length=1)if(choice0.equals("byId")sql+="id='"+request.getParameter("id")+"'"elsesql+="name like '%"+name+&q
55、uot;%'"elsesql+="id='"+request.getParameter("id")+"' and name like '%"+name+"%'"實例化UserDAO,來執(zhí)行queryByConditionTeacher()方法,進行查詢教師的信息。UserDAO userDAO = new UserDAO();ArrayList al = userDAO.queryByConditionTeacher(sql);request.setAttribut
56、e("teacherList", al);否則,返回提示“請選擇查詢條件!”,代碼如下: elserequest.setAttribute("message", "請選擇查詢條件!"); 然后進行頁面的跳轉(zhuǎn)即可完成查詢功能,代碼如下: RequestDispatcher rd = request.getRequestDispatcher("admin/TeacherList.jsp"); rd.forward(request, response);3.5 論著信息管理 論著信息管理是教師信息管理系統(tǒng)的主要模塊,其中
57、包括對論著信息的瀏覽,添加,修改,刪除,查詢,批量刪除的功能。以便于管理員對教師論著信息的維護和修改。 添加論著信息1、View層構(gòu)建用于添加論著信息的AddBook.jsp設(shè)計如圖3-7所示,輸入論著編號、論著名稱、出版社和教師編號。點擊保存按鈕,即可完成論著信息的添加。圖3-7論著信息添加界面2、Model層構(gòu)建在業(yè)務(wù)Javabean的UserDAO中添加方法Addbook(),該方法能夠根據(jù)傳來的參數(shù)生成sql語句,借助DBManager類來進行實現(xiàn)添加功能,此sql語句是插入有表單提交的論著的基本信息,sql語句為:String sql = "insert into T_lu
58、nzhu values('"+ book.getBid() +"','"+ book.getBname() +"','"+ book.getBpress()+"','"+ book.getTid() +"')"實例化db來執(zhí)行executeUpdate(sql)方法。執(zhí)行sql語句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if(count>0) t
59、 = true;db.releaseResource();return t;3、Controller層構(gòu)建在UserServlet中,負責(zé)管理員登錄后的操作請求與響應(yīng)。為UserServlet添加方法doAddbook(),在該方法中完成論著信息的添加。該方法的代碼主要是接收參數(shù),包括論著編號、論著名稱、出版社和教師編號。String id = request.getParameter("Bid");String name =new String(request.getParameter("Bname").getBytes("ISO-8859-1"),"GB2312");String press =new String(request.getParameter("Bpress").getBytes("ISO-8859-1"),"GB2312");String Tid = request.getParameter("Tid"
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度內(nèi)陸水路貨物運輸代理合同樣本
- 二零二五年度廣告?zhèn)髅叫袠I(yè)設(shè)計人員派遣合同范本2篇
- 二零二五年度土地征收與補償安置合同模板
- 2025年度上市公司人事勞動合同模板2篇
- 2025年度個人旅游線路設(shè)計服務(wù)合同4篇
- 二零二五年度電梯鋼結(jié)構(gòu)高空作業(yè)安全防護承包合同2篇
- 2025版智慧苗圃基地規(guī)劃設(shè)計施工一體化合同4篇
- 二零二五版內(nèi)墻批灰與智能家居照明系統(tǒng)合同4篇
- 課題申報參考:面向破損兵馬俑修復(fù)的碎片多尺度全局T o k e n掩碼學(xué)習(xí)分類研究
- 2025年度商鋪租賃合同(含租賃物安全責(zé)任)
- 中國減肥行業(yè)市場分析與發(fā)展趨勢講義
- 海通食品集團楊梅汁產(chǎn)品市場營銷
- 教學(xué)查房及體格檢查評分標準
- 西方經(jīng)濟學(xué)(第二版)完整整套教學(xué)課件
- 人教版高一數(shù)學(xué)上冊期末考試試卷及答案
- 圍術(shù)期下肢深靜脈血栓預(yù)防的術(shù)中護理
- 三方采購協(xié)議范本
- 《材料分析測試技術(shù)》全套教學(xué)課件
- 安全學(xué)原理第2版-ppt課件(完整版)
- 傾聽是一種美德
- 武漢東湖賓館建設(shè)項目委托代建合同
評論
0/150
提交評論