Java学生成绩管理系统分析方案_第1页
Java学生成绩管理系统分析方案_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、实验题目基于 JSP/Servlet 设计、实现一个课程管理 Web 应用程序,该程序实现如 下功能。有登录页面,登录用帐号密码保存在数据库中,合法登录后进入学习成 绩管理页面。否则给出错误提示。在学习成绩管理页面可添加一门课程的成绩,添加内容包括:课程编号、课程名称、学生姓名、课程成绩等内容。添加后信息保存在数据 库中。可根据课程名称和学生姓名进行查询。可删除和修改课程信息的内容。(即删除一条课程记录或修改课程记录 中的某一字段)。二、程序设计1.数据库设计:经过分析可知,改程序主要有如下的实体对象,用户、课程、学生三个实体对 象。因此该数据库主要有四张表,分别如下:/i - dh. Us

2、ers鞭鞭W - U- Stvint 要數据类型3Z9varcharfSOJcvarchar(50)ClassVdrcharfBO)UJIanntharfl)Sexvarchar(90)PawdAcadernyvarchar(50jProfessionalwchar(50J.nMfltricJatbndrrisYarcharOO)表-dba.Seore描要表-db一蒲要列名列名缠粪型躺空用?Course_NovarcharfSO)用;Coureejovarchar(5O)g SJ1DvarchartSD)V 5_NovarcharfSO口5_5cor?int0S_5ooreInt0E连接数据库

3、的类设计如下:package databaseimport java.sql.C onn ectio n。import java.sql.DriverMa nager。public class DataBaseC onnection public static Conn ecti on createDBC onn()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver。Connectionconn=DriverMa nager.getCo nn ectio n(jdbc:sqlserver:/localhost:1433。D

4、atabaseName=Stude nt_system,supiyu n,supiyu n1989828。return conn。catch(Exceptio n e)e.pri ntStackTrace(。 return n ull。2 .程序界面设计:通过程序的要求可知该程序有 jsp 页面或 Html 页面以及 servlet 组成。Jsp 主要 负责与用户的交互实现视图页面的功能,而servlet 主要负责页面跳转控制以及数据处理的功能。由实验的要求具体的实验设计如下:A、用户通过一个登陆页面,输入用户名、密码,然后该jsp 页面将请求发送给处理用户身份验证的 servlet,该 se

5、rvlet 获取数据库的信息进行校验,如果 用户的身份合法则跳转到应用程序的主界面,否则给出错误的提示信息,并且 要求用户重新输入用户名和密码重新登陆。登陆页面的设计图如下所示:学生成绩管理系统用户名:密码:變录取消B_i和 - B、对于程序的主界面主要实现对于用户需要的导航功能以及实现具体的操 作功能。该程序的主界面主要有三个Html 的 Framset 构成,分别为 topFrame,leftFrame, mainFrame 组成,leftFrame 主要实现程序的导航,而 mainFrame 具 体的实现程序的功能。主界面设计界面如下:学生成绩管理系统 I I | I I J 管理目亲;

6、.Mm.:.-退蛍錢.1课程管理:该模块主要实现对课程的新增、已有课程的查询以及对每门课 程成绩的录入功能的导航。.诱加课禅.剰自就驕苣禅.rrrr rrrrr- tat - !Ft PLFLr rrrr r r - i - F! ti r r r - rHi w Ft lplfb11! rrrr rrrr”- ! ? Ftrrrr r r - s - !F!rrrr i- - i - t - -iF I.查着曲课稈.课程的新增:如有新的课程需要新增,则用户通过提示输入课程编号 课程名称、授课教师名字实现课程的新增。科目成绩管理:通过该功能,用户可以实现对指定的科目的成绩管理,修改或者新增功能

7、。用户可以查询对应的科目增加或修改成绩。”稱谢罐帼稱谢罐帼i&1|甌鵜甌鵜殆殆| |复輸复輸_皿皿1gg查看已有课程:通过查看已有的科目可以实现对已有科目的信息的修 改、删除以及学生成绩添加、修改的功能。就觸jErfaiPHiXrMF脱擁瓣擄学生信息管理:通过该模块可以实现对学生个人信息的查询、新增、修改 的功能。学生个人信息查询:输入学号或姓名可以查看学生的基本信息。学生个人信息添加:根据提示输入学生的各项基本,提交添加学生信息。学生信息修改:输入学生学号或姓名查找到学生信息,对学生信息进行修改提 交。退出登录:结束会话,返回至登录页面。3. servlet 设计:Servlet 主要负责对

8、页面请求的跳转和对数据库的操作功能。该程序主要有如下 的 servlet,分别为:-servlet+,| AddCourse_S-yerlet. j av+ i Jj adds tudentln form at ion, java+. CourseMsnageinent. jva+. Jj Login_eontrcl. jwa1.1.AddCourse_ServerletAddCourse_Serverlet添加课程package servletimport java.i o.lO Excepti on。import java.io.Pri ntWriter。import javax.serv

9、let.ServletExcepti on。import javax.servlet.http.HttpServlet。import javax.servlet.http.HttpServletRequestimport javax.servlet.http.HttpServletResp onseimport database.DataBaseC onn ectionimport java.sql.*。public class AddCourse_Serverlet exte nds HttpServlet public AddCourse_Serverlet() super()。publi

10、c void destroy() super.destroy() / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResp onse resp onse)throws ServletExcepti on, I OExcepti on this.doPost(request, resp on se)public void doPost(HttpServletRequest request, HttpServletResp on

11、se resp onse)throws ServletExcepti on, I OExcepti on Conn ecti on conn=DataBaseC onn ectio n.createDBC onn。Prin tWriter out=resp on se.getWriter() Stateme nt st=n ul。try st=c onn. createStateme nt() catch (SQLExcepti on e) e.pri ntStackTrace(。String nu mber。Stri ng n ameString teache。nu mber=request

12、.getParameter(” nu mber)n ame=request.getParameter( name)teacher=request.getParameter(teacher_ name) if(n umber!=null&number.le ngth()!=O)String(number.trim().getBytes(ISO-8859-1),utf-8) 。if(name!=null&name.length()!=0)name=new String(name.trim().getBytes(ISO-8859-1),utf- 8)。if(teacher!=null&teacher

13、.length()!=0)teacher=new String(teacher.trim().getBytes(ISO-8859- 1),utf-8) 。try st.executeUpdate(insertintoCourse(Course_NO,Course_Name,Teacher_Name)values(+number+,+name+,+teacher+)。 catch (SQLException e) e.printStackTrace()。out.println(success!)。public void init() throws ServletException / Put y

14、our code here2.2. addStudentInformation:addStudentInformation:添加课程信息package servletimport java.io.IOException 。import java.io.PrintWriter。import javax.servlet.ServletException。import javax.servlet.http.HttpServlet。import javax.servlet.http.HttpServletReques。import javax.servlet.http.HttpServletRespo

15、nse。import java.sql.*。import database.DataBaseC onn ectionpublic class addStudentInformation extends HttpServlet public addStudentInformation() super()。/* Destruction of the servlet. */public void destroy() super.destroy()。 / Just puts destroy string in log / Put yourcode herepublic void doGet(HttpS

16、ervletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response。)public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException Conn ecti on conn=DataBaseC onn ectio n.createDBC onn()PrintWriter

17、out=response.getWriter()。Stateme nt st=n ul。number=newtry st=c onn. createStateme nt() 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.getParameter(number

18、。)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-8

19、859-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=new String(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&a

20、cademy.length()!=0)academy=new String(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 st.ex

21、ecuteUpdate(insert into Studentvalues(+number+,+name+,+sclass+,+sex+,+academy+,+professional+,+time+) 。 catch (SQLException e) e.printStackTrace()。out.println(success!)。public void init() throws ServletException / Put your code here3.3. CourseManagementCourseManagement课程操作控制package servletimport jav

22、a.io.IOException 。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.HttpServletReques。import javax.servlet.http.HttpServletResponse。import

23、database.DataBaseC onn ectionpublic 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 ServletExcept

24、ion, IOException this.doPost(request, response。)public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String operation。String ID 。String number。String name。String teacher_name。 response.setContentType(text/html。)Conn ecti on conn=DataBaseC o

25、nn ectio n.createDBC onn()PrintWriter out=response.getWriter()。Stateme nt st=n ul。try st=c onn. createStateme nt() catch (SQLException e) e.printStackTrace()。operation=request.getParameter(operation。)ID=request.getParameter(id)。 number=request.getParameter(number。)name=request.getParameter(name。)tea

26、cher_ name=request.getParameter(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

27、(ISO-8859-1), utf-8)。if (teacher_name != null & teacher_name.length() != 0) teacher_name =new 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!) 。 i

28、f(operation.equals(edit)response.sendRedirect(CourseEdit.jsp?id=+ID+)。if(operation.equals(update)tryst.executeUpdate(update Course setCourse_Name=+name+,Teacher_Name=+teacher_name+ whereCourse_No=+number+)。catch(Exception e)e.printStackTrace()。public void init() throws ServletException / Put your co

29、de here4.4. Login_controLogin_contro I I登录控制package servletimport 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。im

30、port javax.servlet.http.HttpServletReques。import javax.servlet.http.HttpServletResponse。import javax.servlet.http.HttpSession。import database.DataBaseC onn ectionpublic class Login_control extends HttpServlet public Login_control() super()。public void destroy() super.destroy()。 / Just puts destroy s

31、tring in log / Put yourcode herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, resp on se)public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.se

32、tContentType(text/htm。charset=utf-8)。int times=0。String temp=null。final PrintWriter out = response.getWriter()。final Connection conn = DataBaseConnection.createDBConn(。)HttpSessi on sessi on=request.getSession()Statement selectResultSet rs = null。String name = request.getParameter(Name)if (name != n

33、ull & name.length() != 0) name = new String(name.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(selectP

34、assword from Users whereU_Name=+name+) 。 catch (final Exception e) e.printStackTrace()。 select = null。try while(rs.next() temp=rs.getString(Password) times+。 catch (final SQLException e)if(times=1&temp.equals(password) session.setAttribute(name, Name)response.sendRedirect(Main.html)。 try conn.close(

35、)。 catch (final SQLException e) e.printStackTrace()。elseout.println(密码输入错误)。out.println( 返回登录页面)。 public void init() throws ServletException / Put your code here*、 程序实现1.登录:用户名或密码输入有误:https/localhost s 8080/Student Sys em/Loein_cont rol Tindovs Int ernet Explorer倉http : /loealhost: 0O0O/StudentSystem/Lcigin ccintrcil文件(X)编辑李若住) 收除夹 工具 帮助曲凸http :/localhost : SOSO/StudentSystem/LoEin.密码输入错i吴返回啓录贝面登录成功显示主界面:|r无林JS文fl Vind-riivs Tnt ern-n-tarr r n X* 卯卜區1下,llpl文科心垢辐如收軼炯IMCt)删0即3 心 筑j无标童文档险-页面卿* *学生成绩管理系统学生成绩管理系统管理目录成跻査询 诔程冒埋 芋牛佢皑管理退出査录2.成绩查询:(输入学号 200710405223 查询结果)学生成绩管理系统学生成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论