




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔可編輯、實(shí)驗(yàn)題目基于JSP/Servlet設(shè)計(jì)、實(shí)現(xiàn)一個(gè)課程管理Web應(yīng)用程序,該程序?qū)崿F(xiàn)如下功能。?有登錄頁(yè)面,登錄用帳號(hào)密碼保存在數(shù)據(jù)庫(kù)中,合法登錄后進(jìn)入學(xué)習(xí)成 績(jī)管理頁(yè)面。否則給出錯(cuò)誤提示。?在學(xué)習(xí)成績(jī)管理頁(yè)面可添加一門課程的成績(jī),添加內(nèi)容包括:課程編號(hào)、 課程名稱、學(xué)生姓名、課程成績(jī)等內(nèi)容。添加后信息保存在數(shù)據(jù)庫(kù)中。?可根據(jù)課程名稱和學(xué)生姓名進(jìn)行查詢。?可刪除和修改課程信息的內(nèi)容。(即刪除一條課程記錄或修改課程記錄中 的某一字段)。二、程序設(shè)計(jì)1 .數(shù)據(jù)庫(kù)設(shè)計(jì):經(jīng)過分析可知,改程序主要有如下的實(shí)體對(duì)象,用戶、課程、學(xué)生三個(gè)實(shí)體對(duì)象。因此該數(shù)據(jù)庫(kù)主要有四張表,分別如下:1點(diǎn)1船-
2、nmhy 50|CUJldienrhr(OiCnteit_ 魅零型/3rcdr(50)5_Marregvar-diXSO)Sex73rGdl20)虹sdsrv308 頌ProfesskralvarhaO)MiricJaicri. thsl/arcdrOQ)1表 * Student ftW表-Scare丟-ILo. ficcre 簡(jiǎn)娶加裡赭空申 Cairse_N口i 1=veitha(5lj;rn j I ! n i i I nn 艸 Course_Novarchar(5Q5_5rarcirt05 Jcoierta匚連接數(shù)據(jù)庫(kù)的類設(shè)計(jì)如下package database;import java.
3、sql.Connection;import java.sql.DriverManager;public class DataBaseConnection public static Connection createDBConn()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connectionconn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=Student_system,supiyun,supiyun1989
4、828);return conn;catch(Exception e)e.printStackTrace();return null;2 .程序界面設(shè)計(jì):通過程序的要求可知該程序有jsp頁(yè)面或Html頁(yè)面以及servlet組成。Jsp 主要負(fù)責(zé)與用戶的交互實(shí)現(xiàn)視圖頁(yè)面的功能,而 servlet 主要負(fù)責(zé)頁(yè)面跳轉(zhuǎn)控制 以及數(shù)據(jù)處理的功能。由實(shí)驗(yàn)的要求具體的實(shí)驗(yàn)設(shè)計(jì)如下:A 、用戶通過一個(gè)登陸頁(yè)面,輸入用戶名、密碼,然后該jsp 頁(yè)面將請(qǐng)求發(fā)送給處理用戶身份驗(yàn)證的servlet,該servlet獲取數(shù)據(jù)庫(kù)的信息進(jìn)行校驗(yàn),如 果用戶的身份合法則跳轉(zhuǎn)到應(yīng)用程序的主界面,否則給出錯(cuò)誤的提示信息,并且要求
5、用戶重新輸入用戶名和密碼重新登陸。登陸頁(yè)面的設(shè)計(jì)圖如下所示:登錄取消B、對(duì)于程序的主界面主要實(shí)現(xiàn)對(duì)于用戶需要的導(dǎo)航功能以及實(shí)現(xiàn)具體的操 作功能。該程序的主界面主要有三個(gè) Html的Framset構(gòu)成,分別為topFrame , leftFrame , ma inFrame 組成,leftFrame 主要實(shí)現(xiàn)程序的導(dǎo)航,而 mainFrame 具體的實(shí)現(xiàn)程序的功能。主界面設(shè)計(jì)界面如下:學(xué)生成績(jī)管踵系統(tǒng)Lt . “ . . si.ajasi. K.aiiit . - j .:.ti慮社閔:鄲言序 工 r=勺”:二亠鈕讀.二C、具體的功能設(shè)計(jì)如下學(xué)生個(gè)人成績(jī)查詢:學(xué)生通過輸入學(xué)號(hào)可以查詢學(xué)生所學(xué)科目
6、的所以成績(jī)成績(jī)的錄入功能的導(dǎo)航。頹課稈o&iaa沓著口有課程課程的新增:如有新的課程需要新增,則用戶通過提示輸入課程編號(hào)、課程名稱、授課教師名字實(shí)現(xiàn)課程的新增課窗:】科目成績(jī)管理:通過該功能,用戶可以實(shí)現(xiàn)對(duì)指定的科目的成績(jī)管理,修 改或者新增功能。用戶可以查詢對(duì)應(yīng)的科目增加或修改成績(jī)。禪尿飜謹(jǐn)龍附齣n |離H俱1期期齟聖謹(jǐn)查看已有課程:通過查看已有的科目可以實(shí)現(xiàn)對(duì)已有科目的信息的修改、 刪除以及學(xué)生成績(jī)添加、修改的功能。|晦斷1叵m鋼_|斷|9jg腔|tt側(cè)嫌恤學(xué)生信息管理:通過該模塊可以實(shí)現(xiàn)對(duì)學(xué)生個(gè)人信息的查詢、新增、修改的 功能。學(xué)生個(gè)人信息查詢:輸入學(xué)號(hào)或姓名可以查看學(xué)生的基本信息。學(xué)生
7、個(gè)人信息添加:根據(jù)提示輸入學(xué)生的各項(xiàng)基本,提交添加學(xué)生信息。學(xué)生信息修改:輸入學(xué)生學(xué)號(hào)或姓名查找到學(xué)生信息,對(duì)學(xué)生信息進(jìn)行修改提交。退出登錄:結(jié)束會(huì)話,返回至登錄頁(yè)面。3. servlet 設(shè)計(jì):Servlet主要負(fù)責(zé)對(duì)頁(yè)面請(qǐng)求的跳轉(zhuǎn)和對(duì)數(shù)據(jù)庫(kù)的操作功能。該程序主要有如出下的servlet,分別為:AddC ow g:e S er veirl e t j| ava &ddS tudentlnformaLtioni. j av Cour scMmiagem ent.Logi jic on tir ol. j ava1. AddCourse_Serverlet :添加課程package servl
8、et;import java.io .10 Exceptio n;import java.io.Pri ntWriter;import javax.servlet.ServletExcepti on;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResp on se;import database.DataBaseC onnection;import java.sql.*;public class Ad
9、dCourse_Serverlet exte nds HttpServlet public AddCourse_Serverlet() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request,
10、 response);request,public void doPost(HttpServletRequest HttpServletResponse response)throws ServletException, IOException Connection conn=DataBaseConnection.createDBConn();PrintWriter out=response.getWriter();Statement st=null;try st=conn.createStatement(); catch (SQLException e) e.printStackTrace(
11、);String number;String name;String teacher;number=request.getParameter(number);name=request.getParameter(name);teacher=request.getParameter(teacher_name);if(number!=null&number.length()!=0)number=newString(number.trim().getBytes(ISO-8859-1),utf-8);if(name!=null&name.length()!=0)name=newString(name.t
12、rim().getBytes(ISO-8859-1),utf-8);if(teacher!=null&teacher.length()!=0)teacher=newString(teacher.trim().getBytes(ISO-8859-1),utf-8);try st.executeUpdate(insert intoCourse(Course_NO,Course_Name,Teacher_Name)values(+number+,+name+,+teacher+); catch (SQLException e) e.printStackTrace();out.println(succ
13、ess!);public void init() throws ServletException / Put your code here2. addStudentInformation: 添加課程信息package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import j
14、avax.servlet.http.HttpServletResponse;import java.sql.*;import database.DataBaseConnection;public class addStudentInformation extends HttpServlet public addStudentInformation() super();/* Destruction of the servlet. */public void destroy() super.destroy(); / Just puts destroy string in log/ Put your
15、 code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);request,public void doPost(HttpServletRequest HttpServletResponse response)throws ServletException, IOException Connection conn=DataBaseConnection.
16、createDBConn();PrintWriter out=response.getWriter();Statement st=null;try st=conn.createStatement(); catch (SQLException e) e.printStackTrace();String number=null;String name=null;String sclass=null;String sex=null;String academy=null;String professional=null;String time=null;number=request.getParam
17、eter(number);name=request.getParameter(name);sclass=request.getParameter(sclass);sex=request.getParameter(sex);academy=request.getParameter(academy); professional=request.getParameter(professional); time=request.getParameter(time);if(number!=null&number.length()!=0)number=newString(number.trim().get
18、Bytes(ISO-8859-1),utf-8);if(name!=null&name.length()!=0)name=new String(name.trim().getBytes(ISO-8859-1),utf-8);if(sclass!=null&sclass.length()!=0)sclass=newString(sclass.trim().getBytes(ISO-8859-1),utf-8);if(sex!=null&sex.length()!=0)sex=new String(sex.trim().getBytes(ISO-8859-1),utf-8);if(academy!
19、=null&academy.length()!=0)academy=newString(academy.trim().getBytes(ISO-8859-1),utf-8); if(professional!=null&professional.length()!=0) professional=newString(professional.trim().getBytes(ISO-8859-1),utf-8);if(time!=null&time.length()!=0) time=new String(time.trim().getBytes(ISO-8859-1),utf-8);try S
20、tudentst.executeUpdate(insert into values(+number+,+name+,+sclass+,+sex+,+academy+,+p rofessional+,+time+); catch (SQLException e) e.printStackTrace();out.println(success!);public void init() throws ServletException / Put your code here3. CourseManagement: 課程操作控制package servlet;import java.io.IOExce
21、ption;import java.io.PrintWriter;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import database.Da
22、taBaseConnection;public class CourseManagement extends HttpServlet public CourseManagement() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExcep
23、tion this.doPost(request, response);request,public void doPost(HttpServletRequestHttpServletResponse response)throws ServletException, IOException String operation;String ID;String number;String name;String teacher_name;response.setContentType(text/html);Connection conn=DataBaseConnection.createDBCo
24、nn();PrintWriter out=response.getWriter();Statement st=null;try st=conn.createStatement(); catch (SQLException e) e.printStackTrace();operation=request.getParameter(operation);ID=request.getParameter(id);number=request.getParameter(number);name=request.getParameter(name);teacher_name=request.getPara
25、meter(teacher_name);if (ID != null & ID.length() != 0) ID = new String(ID.getBytes(ISO-8859-1), utf-8);if (number != null & number.length() != 0) number = new String(number.getBytes(ISO-8859-1), utf-8);if (name != null & name.length() != 0) name = new String(name.getBytes(ISO-8859-1), utf-8);newif (
26、teacher_name != null & teacher_name.length() != 0) teacher_name =String(teacher_name.getBytes(ISO-8859-1), utf-8);if(operation.equals(delete)try st.execute(delete from Course where Course_NO=+ID+ ); catch (SQLException e) e.printStackTrace();out.print(delete fail!);if(operation.equals(edit)response.
27、sendRedirect(CourseEdit.jsp?id=+ID+);if(operation.equals(update)setwheretryst.executeUpdate(update CourseCourse_Name=+name+,Teacher_Name=+teacher_name+Course_No=+number+);catch(Exception e)e.printStackTrace();public void init() throws ServletException / Put your code here4. Login_control: 登錄控制packag
28、e servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import
29、javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import database.DataBaseConnection;public class Login_control extends HttpServlet public Login_control() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(
30、HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8); int times=0
31、;String temp=null;final PrintWriter out = response.getWriter();final Connection conn = DataBaseConnection.createDBConn();HttpSession session=request.getSession();Statement select;ResultSet rs = null;String name = request.getParameter(Name);if (name != null & name.length() != 0) name = new String(nam
32、e.getBytes(ISO-8859-1), utf-8);String password = request.getParameter(Password);if (password != null & password.length() != 0) password = new String(password.getBytes(ISO-8859-1),utf-8);try select = conn.createStatement();rs = select.executeQuery(select Password from Users where U_Name=+name+); catch (final Exception e) e.printStackTrace();select = null;try while(rs.next() temp=rs.getString(Password); times+; catch (final SQLException e)if
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3.1溫度說課稿 2025年初中 人教版物理八年級(jí)上冊(cè)
- 《跨境電商》課件-3.其他平臺(tái)注冊(cè)
- 《Linux操作系統(tǒng)》課件-10.Linux進(jìn)程管理
- 高質(zhì)量三農(nóng)田水利設(shè)施建設(shè)指南
- 農(nóng)民創(chuàng)業(yè)創(chuàng)新培訓(xùn)作業(yè)指導(dǎo)書
- 沉淀池施工安全措施
- 蛋糕店項(xiàng)目可行性研究報(bào)告
- 機(jī)場(chǎng)工程車輛租賃合同范本
- 二零二五年度北京市網(wǎng)吧裝修工程網(wǎng)絡(luò)設(shè)備采購(gòu)合同
- 加油站安全管理預(yù)案
- 統(tǒng)計(jì)法律知識(shí)培訓(xùn)課件
- 活動(dòng)三《垃圾“流浪”記》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年三年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)滬科黔科版
- 2025年2月廣東省深圳市羅湖區(qū)聯(lián)考初三年級(jí)質(zhì)量檢測(cè)英語(yǔ)試卷(含答案)
- 政治-廣西壯族自治區(qū)考閱評(píng)·2025屆(年)2月高三畢業(yè)班聯(lián)合調(diào)研測(cè)試試題和答案
- 2025年合伙協(xié)議模板
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案一套
- 對(duì)外漢語(yǔ)綜合課教案集成
- 北京市朝陽(yáng)區(qū)2024-2025學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試題【含答案解析】
- 2025年南京科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 信息系統(tǒng)監(jiān)理師教程筆記版
- 龍門吊拆除合同
評(píng)論
0/150
提交評(píng)論