网站建设课程设计报告

*******************

实践教学

*******************

湖南安全技术职业学院

计算机科学与技术系

网站建设课程设计

题    目:    学生信息管理系统    

专业班级:    网络工程0901     

姓    名:曾祎王诗慧易红霞何海星

指导教师:     杨莉   左丹霞       

20##年6

目  录

目  录................................................................................................................... 2

前  言................................................................................................................... 3

第一章    需求分析........................................................................................... 4

1.1管理员功能............................................................................................. 4

1.2教师功能................................................................................................ 5

1.3 学生功能................................................................................................ 7

第二章     设计部分......................................................................................... 8

2.1   登录模块设计.................................................................................... 8

2.2       学生信息查询设计.......................................................................... 11

2.3       学生信息修改设计......................................................................... 15

2.4       结束模块设计................................................................................. 18

2.5       数据库设计..................................................................................... 19

总   结............................................................................................................... 21

致  谢................................................................................................................. 22

参考文献............................................................................................................. 23

前  言

随着信息科技在社会的飞速发展与普及,互联网技术在国际社会也日益成熟。每天都有大量的信息在各种电脑与网络上出现,Internet与电脑的普及。同时,也改变了传统传输的传递方式与传统信息的记录存储方式。

现在,利用Internet技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,如何利用现有的资源来更好的服务于校园的教学,服务于学校的管理工作,是摆在我们面前的一个共同问题。

就目前而言,大多数的学校学籍管理方式,还停留在手工操作的基础上。每个学期和学年,教师都需要花费大量的时间来登记学生信息,而管理人员也需要花费巨大的工作量,对每个学生个人信息进行校对管理。同时,又形成信息册在教师和教导处之间传递的延时性,遇到学生转入转出时,因为各个学校使用的学籍卡不同,容易造成信息的缺失或者遗漏。为了减轻教师的繁复工作、加强学校学生的信息管理方便性,本课程主要针对学校学籍信息管理进行研究。

本次设计主要从学校需求分析入手,对设计部分和实现的过程做出分析讨论。

关键字:JSP;SQL Server 2005;JavaBeans;Java Servle;学生信息管理系统

 

第一章    需求分析

管理员能够实现对整个学生信息的添加、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作,对学校系别、专业、班级的管理操作,还可以将学生成绩的数据库发布到网上,教师的信息发布到网上,方便学生教师进行查询,达到资源共享的目的。

1.1管理员功能

新学年一到,新生到学生注册出去注册,那么注册员可以接受新生的注册信息,那么信息就包括学生的基本信息以及简历,学生信息管理系统,管理员的功能以及使用权限是最多的。

1.   学籍管理

用户可以对学生的学号进行更改。

2.   学生注册与查询

用户可以根据学生的姓名、学号、班级、专业信息进行注册与查询。

3.   学生毕业

可以成批地处理学生毕业,当然也可以设置学生毕业后学校对他们的资料保存期限。

4.   学费管理

①  学生缴费标准:根据国家收费标准设置各个系各个专业的每年的学费、书费、住宿费等。

②  学生缴费:该接口可实现学生的缴费操作。

③  学生缴费查询:该接口能够以多个关键字对学生学费情况、以及各专业的收费标准进行查询。

④  学生欠费统计:能够十分方便地统计每个班的缴费情况,以催促欠费学生尽快缴清

5.   班级添加

能够十分方便地添加班级,其中包括班级所在专业、班主任、班干部信息等。

6.   班级修改

可以方便地实现班级的拆、合,修改改班级情况,如辅导员、教室,达到对班级的管理功能

1.2教师功能

教师能够在一定的权限内对所有学生成绩的查询,所有教师信息的查询,对学生成绩的录入,统计学生成绩以及修改自己的密码。

1.   成绩录入

每次考试后,各个任课老师可以把该科成绩列表交给辅导员以进行成绩的录入工作,录入信息包括学生姓名、学号、科目、专业、录入日期。

2.   成绩查询

可以根据多个关键字对学生的成绩进行查询,另外,还可以产生一个班的平均成绩报表、所有学生的排名以及该专业该年级的班级排名。  

3.   成绩修改

如在审卷过程中发现有成绩错误,可以对学生的成绩进行修改

4.   课表查询

任课教师可以查询所带班级的课程表,以及学期课程工作计划。

5.   学生表现管理

学生出工作人员每天可以对学生的出勤情况进行录入,包括学生的迟到、早退、缺席。并实行积分制,工作人员可以自定义每个项目的奖罚分数。

6.   奖励

学生的每次获奖情况都可以计入系统,该项目也实行积分制,教师也可以自定义每个项目的奖罚分数。

7.   总体表现

每期期末教师可以对每个学生查看每个学生的该学期中的表现,并给予该学期的评语。

1.3 学生功能

在校学生只有小部分的只用权限,没有管理员的全部权限,以及教师的大部分权限,学生只要能够查询成绩、查看信息、选择课程就可以基本满足需求的要求。

1.   登陆系统

学生可以在自己的权限内对对自己成绩的查询,以及个人信息的查询,登录密码的修改等操作。学生还能够使用自己的学号做为帐号、用默认密码在网上对自己该学期的表现进行查询,包括自己的各个学期的学习成绩,表现情况。

2.   自助选课

学生登陆成功后可以选择相应的选修课程选修,每个学期只能选修一门课程,本系学生不能选本息所开课程。

3.   成绩查询

每学期结束之后,学生可以通过登陆学生信息管理系统,查询本学期的考试成绩了解本学期学习情况,还有下学年的学杂费用等信息。

4.   帐号的修改

学生还拥有修改自己的帐号的权限,达到专号专用保证了自己帐号的安全性。

第二章     设计部分

2.1 登录模块设计

登录模块需与注册模块不同的地方在于登录模块面向的用户有两种情况,一种是用户已经注册了。

另一种是用户还没有注册,对于没有注册的用户需要引导到注册页面,而对于没注册的非法用户必须进行登录限制。

Login.jsp                       login_conf.jsp到login_success.jsp的跳转

  

学生登录界面效果图

  ①Login.jsp 代码

<body>

<table width="400" border="1" cellspacing="0" cellpadding="0" bgcolor="#080ffee">

    <td><form name="form1" method="post" action="login_conf.jsp">

                                <center><h2>用户登陆</h2></center>

                                <hr size=2 bgcolor=#dce3f5></hr>

     <table align="center" cellspacing="15" cellpadding="0">                             <tr bgcolor=#dce3f5><td>用户名:</td>

        <td><input type="text" name="id"></input></td>

                                      <tr bgcolor=#c6f5be>

                           <td>密码:</td>

<td><input type="password" name="password" style="*"></input></td>

                </tr><tr bgcolor=#dce3f5>

    <td><input type="submit" value="登陆"></input></td>

       <td><input type="reset" value="重填"></input></td></tr>                               </table></form></td></tr></table></body>

②Login_conf.jsp 代码

<body><br><%!

       String DBDRIVER          = "com.mysql.jdbc.Driver" ;

       String DBURL         = "jdbc:mysql://127.0.0.1:3306/student" ;

       String DBUSER        = "root" ;

       String DBPASSWORD    = "root" ;

       Connection conn          = null ;

       PreparedStatement pstmt  = null ;

       ResultSet rs         = null ;

    %>

    <%// 声明一个boolean变量,用于保存用户是否合法的状态

       boolean flag = false ;// 接收参数

       String id = request.getParameter("id") ;

       String password = request.getParameter("password") ;

    %>

    <%String sql = "SELECT name FROM person WHERE id=? and password=?" ;

       try{

 Class.forName(DBDRIVER) ;

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;

           pstmt = conn.prepareStatement(sql) ;

           pstmt.setString(1,id) ;

           pstmt.setString(2,password) ;

           rs = pstmt.executeQuery() ;

           if(rs.next())

           {   // 用户合法 flag = true ;

              // 将用户名保存在session之中

              session.setAttribute("uname",rs.getString(1)) ;

           }else{// 保存错误信息

              request.setAttribute("err","错误的用户名及密码!!!") ;}

           rs.close() ;

           pstmt.close() ;

           conn.close() ; }

       catch(Exception e) {}%>

    <%// 跳转if(flag) {// 用户合法%>

           <jsp:forward page="login_success.jsp"/>

    <%}else{// 用户非法

    %><jsp:forward page="login.jsp"/>

<%}%>

③Login_success.jsp 代码

<br><%if(session.getAttribute("uname")!=null)

       {// 用户已登陆%>  <h2>登陆成功</h2>

           <h2>欢迎<font color="red" size="12">

              <%=session.getAttribute("uname")%>

           </font>光临学生信息管理程序</h2>

           <h3><a href="main.jsp">进入学生信息管理页面</a></h3>

    <%}else{ // 用户未登陆,提示用户登陆,并跳转

           response.setHeader("refresh","2;URL=login.jsp") ;

    %>     您还未登陆,请先登陆!!!<br>

           两秒后自动跳转到登陆窗口!!!<br>

           如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

 <% } %> </body>

2.2       学生信息查询设计

1.        学生信息录入模块:可将学生信息存入到数据库中。

2.        学生信息查询模块:可将学生信息进行查询操作。

list_notes.jsp

学生信息查询界面效果图

list_notes.jsp代码

<body>

<center><h1><font face="华文琥珀">学生信息一览表</font></h1>

    <%// 编码转换

       request.setCharacterEncoding("GB2312") ;

       if(session.getAttribute("uname")!=null)

       {// 用户已登陆%>

    <%!String DBDRIVER       = "com.mysql.jdbc.Driver" ;

       String DBURL         = "jdbc:mysql://127.0.0.1:3306/student" ;

       String DBUSER        = "root" ;

       String DBPASSWORD = "root" ;

       Connection conn      = null ;

       PreparedStatement pstmt  = null ;

       ResultSet rs         = null ; %>

    <%// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示

       int i = 0 ;

       String sql = null;

       String keyword = request.getParameter("keyword") ;

       // out.println(keyword) ;

       if(keyword==null)

       {// 没有任何查询条件

           sql = " SELECT num,name,sex,score,indate FROM students  " ;

       }else

       {// 有查询条件

           sql = " SELECT num,name,sex,score,indate FROM students WHERE num like ? or name like ? or score like ?  " ;

       }

       try{

           Class.forName(DBDRIVER) ;

Conn= DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;

           pstmt = conn.prepareStatement(sql) ;

// 如果存在查询内容,则需要设置查询条件

           if(keyword!=null)

           {// 存在查询条件

              pstmt.setString(1,"%"+keyword+"%") ;

              pstmt.setString(2,"%"+keyword+"%") ;

              pstmt.setString(3,"%"+keyword+"%") ;

              pstmt.setString(4,"%"+keyword+"%") ;

              pstmt.setString(5,"%"+keyword+"%") ;}

               rs = pstmt.executeQuery() ; %>

<table width="400" border="1" height="163"> <tr>

<td>学号</td><td>姓名</td><td>性别</td><td>成绩</td><td>入学时间</td>

           </tr><%while(rs.next())

           {i++ ;// 进行循环打印,打印出所有的内容,以表格形式

              // 从数据库中取出内容

              String num = rs.getString(1) ;

              String name = rs.getString(2) ;

              String sex = rs.getString(3) ;

              String score = rs.getString(4) ;

              String indate = rs.getString(5) ;

if(keyword!=null) {// 需要将数据返红

                  num = num.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;

                  name = name.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;

                  sex = sex.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;

                  score = score.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;

                  indate = indate.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ; }%>

    <tr><td><%=num%></td>

<td><%=name%></td>

<td><%=sex%></td>

<td><%=score%></td>

<td><%=indate%></td><td></td></tr><%}

           // 判断i的值是否改变,如果改变,则表示有内容,反之,无内容

           if(i==0) {// 进行提示%><tr>

       <td colspan="5">没有任何内容!!!</td></tr><%}%></table>

    <%rs.close() ; pstmt.close() ; conn.close() ;

       }catch(Exception e){}%>

    <%}else{// 用户未登陆,提示用户登陆,并跳转

           response.setHeader("refresh","2;URL=login.jsp") ;

    %>您还未登陆,请先登陆!!!<br>

           两秒后自动跳转到登陆窗口!!!<br>

           如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

    <%}%><h3> <a href="main.jsp">回到功能列表页</a></h3>

</center></body>

2.3       学生信息修改设计

1.        学生信息修改模块:可将学生信息进行修改操作。

2.        学生信息修改模块:可将学生信息进行删除操作。

学生信息修改界面图

updata.jsp

Updata.jsp代码

<body>

<center><h1><font face="楷体_GB2312" color="#ff00ff">修改学生信息</font></h1>

    <%if(session.getAttribute("uname")!=null) {// 用户已登陆

    %>  <%!

      String DBDRIVER     = "com.mysql.jdbc.Driver" ;

       String DBURL         = "jdbc:mysql://127.0.0.1:3306/student" ;

       String DBUSER        = "root" ;

       String DBPASSWORD = "root" ;

       Connection conn          = null ;

       PreparedStatement pstmt  = null ;

       ResultSet rs         = null ;

       int id ;

    %><%// 接收参数try{

           id = Integer.parseInt(request.getParameter("num")) ;

       }catch(Exception e)

       {}%>

    <%         String sql = " SELECT num,name,sex,score,indate FROM students WHERE num = ?  " ;

       try{Class.forName(DBDRIVER) ;

    conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;

           pstmt = conn.prepareStatement(sql) ;

 // 设置查询条件pstmt.setInt(1,id);

           rs = pstmt.executeQuery() ;

    %><%if(rs.next())

           {// 进行循环打印,打印出所有的内容,以表格形式

              // 从数据库中取出内容

              String num = rs.getString(1) ;

              String name = rs.getString(2) ;

              String sex = rs.getString(3) ;

              String score = rs.getString(4) ;

              String indate = rs.getString(5) ;%>

    <form action="update_do.jsp" method="post">

    <table><tr><td colspan="2"><center>修改学生信息</td></tr>

<tr><td>学号:</td><td><input type="text" name="num" value="<%=num%>"></td></tr>

<tr><td>姓名:</td><td><input type="text" name="name" value="<%=name%>"></td></tr>

<tr><td>性别:</td><td><input type="text" name="sex" value="<%=sex%>"></td></tr>

<tr><td>成绩:</td><td><input type="text" name="score" value="<%=score%>"></td></tr>

<tr><td>入学日期:</td><td><input type="text" name="indate" value="<%=indate%>"></td></tr>

<tr><td colspan="2"><input type="submit" value="更新">

                  <input type="reset" value="重置">

              </td></tr></table></form>

    <%}else{%>没有发现,要更新的内容!!<br>

              请确认要更新的信息是否存在!!<br>

    <%}%><%rs.close() ;

           pstmt.close() ;

           conn.close() ; }

       catch(Exception e) {}%>

    <h3><a href="main.jsp">回到功能列表页</a></h3>

    <%}else{// 用户未登陆,提示用户登陆,并跳转

       response.setHeader("refresh","2;URL=login.jsp") ; %>

           您还未登陆,请先登陆!!!<br>

           两秒后自动跳转到登陆窗口!!!<br>

           如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

    <%}%></center></body>

2.4       结束模块设计

结束模块的作用:用户点安全退出之后,将出现一个Een.Jsp跳转页面,起到提醒用户的作用。

End.jsp

结束界面效果图

End.jsp代码

<body> <h6><br><br><br><br><br><br><br><br><div align="center"><blockquote><h6><br><strong></strong></h6><h6><br></h6><h6><br></h6><h6><br></h6>

<h6><font size="7" face="华文新魏" color="#00ff00">谢谢您的查看</font><br></h6></h6><h6><br><font color="#0000ff"><strong></strong></font></h6><h6><br></h6>

<h6 align="center"><font face="华文隶书" color="#0000ff"><strong><font size="7">B y e b y e</font></strong></font></h6><br><br><br><br><div align="center"><br></div><br><br><br>  <br>

<br><br></body>

2.5       数据库设计

根据系统功能的设计要求以及功能模块的划分,包含系统用户信息数据库,数据库的添加、删除、更新功能。

① 数据库:student

② 表:student

③ 表:Person

      

总   结

在这段时间里,每天都过得非常充实,过程中,理论知识与实际更好的结合,动手能力和主动分析能力通过一次次的调试提高;团队开发教会了我们如何与他人更好的沟通。成长很多,感悟很多。

在本次实训的过程中,我们遇到了很多问题,是老师的帮助,是团队组员的帮助,让我们慢慢地学习,慢慢地理解,慢慢的问题一步步的解决。团队是强大的,人多就是力量,汇聚了各种各样的智慧,每个个体相互帮助,相互交流,相互理解,相互合作,推进着项目的加速完成。还有团队间的交流、合作,彼此借鉴经验,使得团队不再是组员们的力量,而是整个大团队的力量。

致  谢

在本次实训中,我们相聚在这里,一起努力学习。虽然我们组完成的作业不是最好的,但是在完成作业的过程中,还是得到了的指导老师(杨莉老师、左丹霞老师)和同学大力的支持和热心的帮助,在这里,非常感谢一路帮助我们的老师和同学们,我们会继续努力的!

参考文献

[1] 《JSP动态Web技术实例教程 》高等教育出版社  聂哲

[2]  《SQL Server2005数据库及其应用》清华大学出版社 北京交通大学出版社 周奇、余桥伟

[3] 《Java编程与应用》高等教育出版社  杨武、刘贞

相关推荐