版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
...wd......wd......wd...一、實驗題目基于JSP/Servlet設計、實現(xiàn)一個課程管理Web應用程序,該程序?qū)崿F(xiàn)如下功能。有登錄頁面,登錄用帳號密碼保存在數(shù)據(jù)庫中,合法登錄后進入學習成績管理頁面。否則給出錯誤提示。在學習成績管理頁面可添加一門課程的成績,添加內(nèi)容包括:課程編號、課程名稱、學生姓名、課程成績等內(nèi)容。添加后信息保存在數(shù)據(jù)庫中??筛鶕?jù)課程名稱和學生姓名進展查詢。可刪除和修改課程信息的內(nèi)容?!布磩h除一條課程記錄或修改課程記錄中的某一字段〕。二、程序設計1.數(shù)據(jù)庫設計:經(jīng)過分析可知,改程序主要有如下的實體對象,用戶、課程、學生三個實體對象。因此該數(shù)據(jù)庫主要有四張表,分別如下:連接數(shù)據(jù)庫的類設計如下:packagedatabase;importjava.sql.Connection;importjava.sql.DriverManager;publicclassDataBaseConnection{ publicstaticConnectioncreateDBConn(){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connectionconn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Student_system","supiyun","supiyun1989828"); returnconn; }catch(Exceptione){ e.printStackTrace(); returnnull; } } }2.程序界面設計:通過程序的要求可知該程序有jsp頁面或Html頁面以及servlet組成。Jsp主要負責與用戶的交互實現(xiàn)視圖頁面的功能,而servlet主要負責頁面跳轉(zhuǎn)控制以及數(shù)據(jù)處理的功能。由實驗的要求具體的實驗設計如下:A、用戶通過一個登陸頁面,輸入用戶名、密碼,然后該jsp頁面將請求發(fā)送給處理用戶身份驗證的servlet,該servlet獲取數(shù)據(jù)庫的信息進展校驗,如果用戶的身份合法則跳轉(zhuǎn)到應用程序的主界面,否則給出錯誤的提示信息,并且要求用戶重新輸入用戶名和密碼重新登陸。登陸頁面的設計圖如下所示:B、對于程序的主界面主要實現(xiàn)對于用戶需要的導航功能以及實現(xiàn)具體的操作功能。該程序的主界面主要有三個Html的Framset構(gòu)成,分別為topFrame,leftFrame,mainFrame組成,leftFrame主要實現(xiàn)程序的導航,而mainFrame具體的實現(xiàn)程序的功能。主界面設計界面如下:C、具體的功能設計如下<1>學生個人成績查詢:學生通過輸入學號可以查詢學生所學科目的所以成績。<2>課程管理:該模塊主要實現(xiàn)對課程的新增、已有課程的查詢以及對每門課程成績的錄入功能的導航。課程的新增:如有新的課程需要新增,則用戶通過提示輸入課程編號、課程名稱、授課教師名字實現(xiàn)課程的新增??颇砍煽児芾恚和ㄟ^該功能,用戶可以實現(xiàn)對指定的科目的成績管理,修改或者新增功能。用戶可以查詢對應的科目增加或修改成績。查看已有課程:通過查看已有的科目可以實現(xiàn)對已有科目的信息的修改、刪除以及學生成績添加、修改的功能。<3>學生信息管理:通過該模塊可以實現(xiàn)對學生個人信息的查詢、新增、修改的功能。學生個人信息查詢:輸入學號或姓名可以查看學生的根本信息。學生個人信息添加:根據(jù)提示輸入學生的各項根本,提交添加學生信息。學生信息修改:輸入學生學號或姓名查找到學生信息,對學生信息進展修改提交。<4>退出登錄:完畢會話,返回至登錄頁面。3.servlet設計:Servlet主要負責對頁面請求的跳轉(zhuǎn)和對數(shù)據(jù)庫的操作功能。該程序主要有如下的servlet,分別為:1.AddCourse_Serverlet:添加課程packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet..Servlet;importjavax.servlet..ServletRequest;importjavax.servlet..ServletResponse;importdatabase.DataBaseConnection;importjava.sql.*;publicclassAddCourse_ServerletextendsServlet{ publicAddCourse_Serverlet(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } Stringnumber; Stringname; Stringteacher; 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.trim().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("insertintoCourse(Course_NO,Course_Name,Teacher_Name)values('"+number+"','"+name+"','"+teacher+"')"); }catch(SQLExceptione){ e.printStackTrace(); } out.println("success!"); } publicvoidinit()throwsServletException{ //Putyourcodehere }}2.addStudentInformation:添加課程信息packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet..Servlet;importjavax.servlet..ServletRequest;importjavax.servlet..ServletResponse;importjava.sql.*;importdatabase.DataBaseConnection;publicclassaddStudentInformationextendsServlet{ publicaddStudentInformation(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } Stringnumber=null; Stringname=null; Stringsclass=null; Stringsex=null; Stringacademy=null; Stringprofessional=null; Stringtime=null; number=request.getParameter("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().getBytes("ISO-8859-1"),"utf-8"); } if(name!=null&&name.length()!=0){ name=newString(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=newString(sex.trim().getBytes("ISO-8859-1"),"utf-8"); } if(academy!=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=newString(time.trim().getBytes("ISO-8859-1"),"utf-8"); } try{ st.executeUpdate("insertintoStudentvalues('"+number+"','"+name+"','"+sclass+"','"+sex+"','"+academy+"','"+professional+"','"+time+"')"); }catch(SQLExceptione){ e.printStackTrace(); } out.println("success!"); } publicvoidinit()throwsServletException{ //Putyourcodehere }}3.CourseManagement:課程操作控制packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet..Servlet;importjavax.servlet..ServletRequest;importjavax.servlet..ServletResponse;importdatabase.DataBaseConnection;publicclassCourseManagementextendsServlet{ publicCourseManagement(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ this.doPost(request,response); } publicvoiddoPost(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ Stringoperation; StringID; Stringnumber; Stringname; Stringteacher_name; response.setContentType("text/html"); Connectionconn=DataBaseConnection.createDBConn(); PrintWriterout=response.getWriter(); Statementst=null; try{st=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); } operation=request.getParameter("operation"); ID=request.getParameter("id"); number=request.getParameter("number"); name=request.getParameter("name"); teacher_name=request.getParameter("teacher_name"); if(ID!=null&&ID.length()!=0){ ID=newString(ID.getBytes("ISO-8859-1"),"utf-8"); } if(number!=null&&number.length()!=0){ number=newString(number.getBytes("ISO-8859-1"),"utf-8"); } if(name!=null&&name.length()!=0){ name=newString(name.getBytes("ISO-8859-1"),"utf-8"); } if(teacher_name!=null&&teacher_name.length()!=0){ teacher_name=newString(teacher_name.getBytes("ISO-8859-1"),"utf-8"); } if(operation.equals("delete")){ try{ st.execute("deletefromCoursewhereCourse_NO='"+ID+"'"); }catch(SQLExceptione){ e.printStackTrace(); out.print("deletefail!"); } } if(operation.equals("edit")){ response.sendRedirect("CourseEdit.jsp?id="+ID+""); } if(operation.equals("update")){ try{st.executeUpdate("updateCoursesetCourse_Name='"+name+"',Teacher_Name='"+teacher_name+"'whereCourse_No='"+number+"'"); }catch(Exceptione){ e.printStackTrace(); } } } publicvoidinit()throwsServletException{ //Putyourcodehere }}4.Login_control:登錄控制packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet..Servlet;importjavax.servlet..ServletRequest;importjavax.servlet..ServletResponse;importjavax.servlet..Session;importdatabase.DataBaseConnection;publicclassLogin_controlextendsServlet{ publicLogin_control(){ super(); } publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{this.doPost(request,response); } publicvoiddoPost(ServletRequestrequest,ServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=utf-8"); inttimes=0; Stringtemp=null; finalPrintWriterout=response.getWriter(); finalConnectionconn=DataBaseConnection.createDBConn();Sessionsession=request.getSession(); Statementselect; ResultSetrs=null; Stringname=request.getParameter("Name"); if(name!=null&&name.length()!=0){ name=newString(name.getBytes("ISO-8859-1"),"utf-8"); } Stringpassword=request.getParameter("Password"); if(password!=null&&password.length()!=0){ password=newString(password.getBytes("ISO-8859-1"),"utf-8"); } try{ select=conn.createStatement(); rs=select.executeQuery("selectPasswordfromUserswhereU_Name='"+name+"'"); }catch(finalExceptione){ e.printStac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024藕塘承包與農(nóng)業(yè)產(chǎn)業(yè)化發(fā)展合作合同范本3篇
- 2024房租租賃合同補充協(xié)議
- 2019年7月國家開放大學??啤陡叩葦?shù)學基礎》期末紙質(zhì)考試試題及答案
- 焦慮癥健康宣教
- 2024年解除婚姻關系后贍養(yǎng)費協(xié)議
- 2024水電安裝勞務分包合同協(xié)議書-農(nóng)村飲水安全工程專用3篇
- 2024某電子商務公司與社交媒體平臺廣告投放合同
- 福建省南平市太平鎮(zhèn)中學高三數(shù)學理期末試卷含解析
- 2024洗滌服務綠色環(huán)保材料采購合同書3篇
- 2024年酒店食堂蔬菜品質(zhì)提升采購協(xié)議2篇
- 轉(zhuǎn)錢委托書授權書范本
- 國有企業(yè)員工守則
- 一種配網(wǎng)高空作業(yè)智能安全帶及預警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護投標方案
- CSR社會責任管理手冊模板
- 毛澤東軍事思想概述(新)
- 蘇教版六年級數(shù)學上冊集體備課記載表
- 錨桿框格梁施工技術交底
- 商戶清場協(xié)議書
- 涉詐風險賬戶審查表
- 10以內(nèi)的加減法(兩步計算)練習
評論
0/150
提交評論