Jsp課程設計實驗報告_第1頁
Jsp課程設計實驗報告_第2頁
Jsp課程設計實驗報告_第3頁
Jsp課程設計實驗報告_第4頁
Jsp課程設計實驗報告_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

《jsp程序設計》Jsp課程設計實驗報告題目學生成績管理系統專業班級姓名指導教師2011年6月28日目錄一、緒論 21、系統開發背景 22、項目開發的目標 23、系統開發所用的技術設備 2二、需求分析 31、系統需求分析 32、用戶需求 33、系統框架圖如下: 44、系統設計思想 45、系統設計分析 5三、數據庫的設計 51、本系統將數據存儲在七個表中,這七個表分別是 52、建立數據庫的命令如下: 73、建立數據表的命令如下: 7四、關鍵技術及代碼 81、管理員登錄代碼 92、從數據庫中獲取用戶名和密碼的代碼。 103、留言板的相關代碼。 11五、測試 151、登錄界面的測試: 152、查詢頁面: 173、添加頁面: 174、刪除頁面: 185、修改頁面 19六、總結 19七、參考文獻 19一、緒論1、系統開發背景一直以來學生的成績管理是學校工作中的一項重要內容,許多學校的學生成績管理系統做得都相當的完善,但是隨著辦學規模的擴大和擴招,有些系統就會逐漸出現一些漏斗或者是不完善的地方。普通的成績管理系統已經不能適應時代的發展,因為它浪費了許多的人力和物力,在當今信息時代這種傳統的管理方法必然被以計算機為基礎的管理系統所代替。為了提高成績管理的效率,我選擇了學生成績管理系統作為jsp的課程設計。2、項目開發的目標希望能做出一個完善的系統,實現分類別的管理。能實現管理員、教師和學生三種身份的登錄,同時也能實現各登陸身份的相關操作。3、系統開發所用的技術設備、數據庫技術的現狀與發展數據庫是在現在的無論大型系統還是小型系統中都頻繁出現的一門計算機軟件技術,數據庫技術是信息系統的核心和基礎,它的出現極大的促進了計算機應用向各行各業的滲透。、JSP當前所做的系統無非都采用.net和jsp兩種技術進行設計,它有很多的技術特征,如:跨平臺、分離靜態內容和動態內容、可重復使用的組建、沿用了JavaServlet的所有功能及能預編譯。二、需求分析1、系統需求分析學生信息管理系統是對學生的基本信息和成績信息進行管理,主要包括添加、修改和刪除學生的基本信息及課程的基本信息;錄入、修改和刪除學生的成績信息,對基本信息、成績信息進行查詢、排序及統計等操作,從而實現學生信息管理的自動化與計算機化。本課題將實現一個簡化的學生信息管理系統。IE等瀏覽器用戶瀏覽器web服務器數據庫服務器IE等瀏覽器Tomcat返回操作結果使用數據庫操作語言返回查詢結果操作請求Tomcat返回操作結果使用數據庫操作語言返回查詢結果操作請求2、用戶需求、學生的需求<1>、查詢自己的基本資料查詢自己的所有成績,包括自己的平均成績和總成績。<2>、查詢自己的所有成績,包括自己的平均成績和總成績。<3>查詢某一科成績,該科平均成績,所在名次,最高成績,最低成績。<4>、學生可以添加自己的基本信息。、老師需求<1>、查詢某一學生的所有成績,平均成績和總成績。<2>、查詢某一學生某一科成績,該科平均成績,所在名次,最高成績,最低成績。<5>、錄入成績(自己所教授的那一科成績)、管理員的需求<1>、查詢某一學生的所有成績,平均成績和總成績。<2>、查詢某一學生某一科的成績,該科平均成績,所在名次,最高成績,最低成績)。<3>、查詢某一班級的成績(所有成績,某一學期的所有成績,某一學期的某一科目的所有成績)。<5>、錄入信息、修改信息和刪除信息。3、系統框架圖如下:查詢信息查詢信息添加信息管理員登陸信修改息查詢信息學生登陸教師登陸學生成績管理系統查詢信息查詢信息添加信息管理員登陸信修改息查詢信息學生登陸教師登陸學生成績管理系統添加信息刪除信息添加信息添加信息刪除信息添加信息4、系統設計思想、采用現有的資源以及充分利用學校的現有資源,減少開發中的財力以及無力和時間,提高系統開發的水平。、系統就滿足學校的需求,例如成績的錄入、查詢、更新、刪除以及學生成績的排名等操作。、系統具備數據庫維護功能,及時根據用戶需求進行數據跟新、刪除、添加等操作。5、系統設計分析該系統適用于各個學校,其功能主要為:成績管理:用于對成績的錄入、修改、添加、匯總、排名以及查詢等操作。三、數據庫的設計1、本系統將數據存儲在七個表中,這七個表分別是:(1)、學生表(見下表):保存學生的基本信息,包括學生的姓名,登錄系統時的密碼,學生的學號,出生年月以及性別。學生表字段名稱中文解釋保存類型默認值長度可否為空主鍵sno學號varchar無12否是name姓名varchar無24否否password密碼varchar無24否否sex性別char(男或女)2否否Birthdate出生年月datetime無否否(2)、教師表(見下表):保存教師的信息,包括教師的教師編號,登錄系統系統時的用戶名和密碼。教師表字段名稱中文解釋保存類型默認值長度可否為空主鍵Tno教師編號varchar無12否是name登錄名varchar無24否否password密碼varchar無24否否(3)、班級表(見下表):保存班級的編號及班級的名稱。班級表字段名稱中文解釋保存類型默認值長度可否為空主鍵classesnum班級編號varchar無12否是classes班級名稱varchar無24否否(4)、教師所擔任課程的表(見下表):保存教師編號,所教科目和班級名稱。教師所擔任課程的表字段名稱中文解釋保存類型默認值長度可否為空主鍵Tno教師編號varchar無12否是subject所教科目varchar無24否否classes班級名稱varchar無24否否(5)、管理員表(見下表):保存管理員的編號,登錄系統時的用戶名和密碼。管理員表字段名稱中文解釋保存類型默認值長度可否為空主鍵Mno管理員編號varchar無12否是name用戶名varchar無24否否password密碼varchar無24否否(6)、成績表(見下表):保存有關學生的成績的一些信息,本系統主要是對于該表的操作。成績表字段名稱中文解釋保存類型默認值長度可否為空主鍵sno學號varchar否12否是name課程名稱varchar否24否否classes班級varchar否24否否property科目性質varchar否24否否term學期varchar否24否否terchar教師名稱varchar否14否否grade成績int否否否(7)、課程表(見下表):保存有關學生的課程的一些信息。課程表字段名稱中文解釋保存類型默認值長度可否為空主鍵cno課程號varchar無12否是cname課程名varchar無24否否Tname教師姓名varchar無24否否score學分varchar無4否否2、建立數據庫的命令如下:CreatedatabaseStudentmange3、建立數據表的命令如下:(1)、建立學生表--createtableStudent(--snovarchar(12)primarykeynotnull,--namevarchar(24)notnull,--passwordvarchar(24)notnull,--Sexchar(2)check(Sexin('男','女')),--Birthdatedatetimenotnull,--);(2)、建立教師表--createtableteacher(--Tnovarchar(12)primarykeynotnull,--namevarchar(24)notnull,--passwordvarchar(24)notnull,--);(3)、建立班級表--createtableclasses(--classesnumvarchar(12)primarykeynotnull,--classesvarchar(24)notnull,--);(4)、建立教師所教科目表--createtableteacher_subject(--Tnovarchar(12)primarykeynotnull,--subjectvarchar(24)notnull,--classesvarchar(24)notnull,--foreignkey(Tno)referencesteacher(Tno),--);(5)、建立管理員表--createtablemanage(--Mnovarchar(12)primarykeynotnull,--namevarchar(24)uniquenotnull,--passwordvarchar(24)notnull,--);、建立成績表--createtablescore1(--snovarchar(12),--cnovarchar(12),--classesvarchar(24)notnull,--termvarchar(24)notnull,--gradeintcheck(gradebetween0and100),--primarykey(sno,cno),--foreignkey(sno)referencesStudent(sno),--foreignkey(cno)referencescourse(cno),--);、建立課程表--createtablecourse(--cnovarchar(12)primarykey,--Tnamevarchar(24)notnull,--cnamevarchar(24)notnull,--scorevarchar(4)notnull,補充:因為在建立數據表當中的成績表的時候,沒有考慮周到那個成績應該是只能在0-100之間取值,所以對成績表(score)修改了約束條件,語句如下:altertablescoreaddconstraintgradecheck(gradebetween0and100);四、關鍵技術及代碼本系統在連接數據庫的地方用了javabean,在留言板的那一部分應用了serverlet和dreamweave的一些相關知識,以及jsp的相關知識。1、管理員登錄代碼<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.util.Date,java.text.*"%><!--導入用到的類包文件--><%Datenowday=newDate();//獲取當前日期inthour=nowday.getHours();//獲取日期中的小時SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//定義日期格式化對象Stringtime=format.format(nowday);//將指定日期格式化為"yy-MM-ddHH:mm:ss"形式%><html><head><title>學生成績管理系統</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css">body{ background-color:#000; background-image:url(../images/08102301183279494%5B1%5D.jpg);}body,td,th{ color:#F0C;}</style></head><body><center><pstyle="font-family:'宋體';font-size:xx-large;color:yellow;"><h1>學生成績管理系統</h1></p><tableborder="1"width="300"><trheight="80"><tdalign="center">現在時間:<%=time%></td></tr></table><h2>用戶名或密碼錯誤,請重新登錄!!!</h2><formid="forml"name="forml"method="post"action="login_deal2.jsp"><p>用戶名:<inputname="name"type="text"id="name"/></p><p>密  碼:<inputname="password"type="text"id="password"/></P><inputtype="submit"name="Submit"value="提交"onClick=""/><inputtype="reset"name="Submit2"value="重置"/></form></center></body></html>2、從數據庫中獲取用戶名和密碼的代碼。<%@pagecontentType="text/html;charset=gbk"import="java.sql.*"%><%@pageimport="java.io.*"%><%@pageimport="java.util.*"%><%@pageimport="java.sql.*"%><html><head><title>學生成績管理系統</title></head><body> <center> <%!Stringsql; %><%request.setCharacterEncoding("GBK"); Stringname=request.getParameter("name");Stringpassword=request.getParameter("password");StringdriverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";StringDBurl="jdbc:sqlserver://:1433;DatabaseName=Studentmange";StringDBname="lmj";StringDBpassword="123456"; try{ Class.forName(driverClass);//加載驅動程序 Connectionconn=DriverManager.getConnection(DBurl,DBname,DBpassword); sql="selectname,passwordfromTeacherwherename='"+name+"'andpassword='"+password+"'"; PreparedStatementpstmt=conn.prepareStatement(sql);//實例化數據庫操作對象 ResultSetrs=pstmt.executeQuery(); if(rs.next()) { response.sendRedirect("../teacher.jsp"); } else{response.sendRedirect("teacherindex2.jsp");} rs.close(); pstmt.close(); conn.close();} catch(Exceptione) { out.println(e); } %></center></body></html>3、留言板的相關代碼。、登錄留言板的相關代碼<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><styletype="text/css">body,td,th{ color:#F0F;}body{ background-color:#000; background-image:url(images/denglubeijing2.jpg);}</style></head><body><center><formaction="addWord"method="post"><p> </p><p> </p><p> </p><p>留言者:<inputtype="text"name="author"size="25"><br>留言標題:<inputtype="text"name="title"size="25"><br>留言內容:<textareaname="content"rows="5"cols="25"></textarea></p><p><inputtype="submit"value="提交"><inputtype="reset"value="重置"><ahref="show.jsp">查看留言</a></p></form></center></body></html>、編譯的三個java程序<1>、serverletpackageliuyanban.servlet;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Date;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.yxq.toolbean.MyTools;importcom.yxq.valuebean.WordSingle;publicclassWordServletextendsHttpServlet{ protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //以下代碼用來獲取表單中字段內容并進行轉碼 Stringauthor=MyTools.toChinese(request.getParameter("author")); Stringtitle=MyTools.toChinese(request.getParameter("title")); Stringcontent=MyTools.toChinese(request.getParameter("content")); //獲取當前時間并格式化時間為指定格式 Stringtoday=MyTools.changeTime(newDate()); WordSinglesingle=newWordSingle(); single.setAuthor(MyTools.changeHTML(author)); single.setTitle(MyTools.changeHTML(title)); single.setContent(content); single.setTime(today); HttpSessionsession=request.getSession(); ServletContextscx=session.getServletContext(); ArrayListwordlist=(ArrayList)scx.getAttribute("wordlist"); if(wordlist==null) wordlist=newArrayList(); wordlist.add(single); scx.setAttribute("wordlist",wordlist); response.sendRedirect("show.jsp"); }}<2>、toolbeanpackageliuyanban.toolbean;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassMyTools{ /** *@功能轉換字符串中屬于HTML語言中的特殊字符 *@參數source為要轉換的字符串 *@返回值String型值 */ publicstaticStringchangeHTML(Stringsource){ StringchangeStr=""; changeStr=source.replace("&","&"); //轉換字符串中的“&”符號 changeStr=changeStr.replace(""," "); //轉換字符串中的空格 changeStr=changeStr.replace("<","<"); //轉換字符串中的“<”符號 changeStr=changeStr.replace(">",">"); //轉換字符串中的“>”符號 changeStr=changeStr.replace("\r\n","<br>"); //轉換字符串中的回車換行 returnchangeStr; }/**@功能將Date型日期轉換成指定格式的字符串形式,如“yyyy-MM-ddHH:mm:ss”*@參數date為要被轉換的Date型日期*@返回值String型值*/ publicstaticStringchangeTime(Datedate) SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); returnformat.format(date); //調用format()方法格式化日期 }publicstaticStringtoChinese(Stringstr){ if(str==null) str=""; try{ str=newString(str.getBytes("ISO-8859-1"),"gb2312"); }catch(UnsupportedEncodingExceptione){ str=""; e.printStac

溫馨提示

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

評論

0/150

提交評論