javaEE学生个人成绩管理系统_第1页
javaEE学生个人成绩管理系统_第2页
javaEE学生个人成绩管理系统_第3页
javaEE学生个人成绩管理系统_第4页
javaEE学生个人成绩管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、软 件 学 院课程设计报告书课程名称 java web 程序设计教程课程设计 设计题目 学生个人成绩管理系统 专业班级 学 号 姓 名 指导教师 2011年 12 月目录1 设计时间:12 设计目的13设计任务14 设计内容14.11需求分析14.12系统功能图24.13数据库设计24.2详细设计34.21各子系统的详细设计34.22抽象数据类型的定义4运行界面5主要代码75总结期望19参考文献21成绩评定211 设计时间:2011-12-122011-12-162 设计目的JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节

2、之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的Java Web程序。3设计任务设计一个学生个人成绩管理系统包括以下功能:(1)用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看、修改和删除自己的成绩信息;计算各课程的平均分。(2)添加学生成绩:学生添加成绩信息(包括学号、姓名、课程名称、成绩);(3)查看学生成绩:查看所有课程的成绩;(4)删除成绩:学生可以删除自己的成绩;(5)计算成绩平均分:计算出所有成绩的平均分4 设计内容4.1概要设计4.11需求分析 成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的

3、要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到了非常重要的作用。随着学校规模的不断扩大,专业,班级,学生的数量急剧增加,有关学生成绩的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的个人成绩管理系统。此次课程设计为设计一个就是设计一个这样的学生个人成绩管理系统,该系统要求用户以合法身份登录后才能进行所有操作。该用户可以添加、查看、修

4、改和删除自己的学生成绩信息及计算各成绩的平均分。4.1.2系统功能图: 学生个人信息管理系统用户以合法身份登录添加学生成绩查看学生成绩删除学生成绩计算平均成绩修改学生成绩4.1.3数据库设计:在数据库中建立Scores表包括:(字段名称,数据类型,长度,字段描述)。Scores表: 表1-1字段名称数据类型长度字段描述idint4主键,自增长snoint4学号snamevarchar50姓名cnamevarchar50课程名gradeint4成绩 4.2详细设计程序流程图:NY开始用户登录是否成功查看学生成绩删除学生成绩添加学生成绩计算平均成绩结束4.2.1各子系统的详细设计1.登录子系统“i

5、ndex.jsp”用于用户登录,输入用户名和密码登录失败时跳转到“error.jsp”页面,重新输入用户名和密码。登录成功进入“success.jsp”页面,点击相应按钮进行相应操作。2.查询子系统“showAllScore.jsp”用于显示所有成绩信息包括:学号,姓名,课程名,成绩。建立超链接到其他三个子系统的页面。3.删除子系统“delete.jsp”用于删除成绩,输入要删除的学号点击删除。4.添加子系统Add.jsp用于填加成绩,输入要添加的数据,点击添加。5.计算平均成绩子系统 “acc.jsp”用于计算平均成绩,点击进入所对应的servlet进行处理。4.2.2 抽象数据类型的定义所

6、需要导入的包及建立的包表4-1 包定义表包名类名功能scores .Dao.java增加信息显示信息删除信息平均成绩信息com.scores.domainscores.java成绩属性User.java用户属性com.scores .serviceScores Service.java成绩服务UserService.java用户服务com. scores.servletAcctServlet.java计算平均成绩控制层DeleteServlet.java删除成绩控制层UpdateServlet.java修改成绩控制层LoginServlet.java登录控制层AddServlet.java添加

7、成绩控制层表4-2 页面定义表页面名称作用add.jsp添加页面delete.jsp删除页面update,jsp修改页面error.jsp登陆失败页面,返回登录界面index.jsp用户界面Sava.jsp操作页面ShowAllCost.jsp显示页面success.jsp登陆成功页面,跳转至用户界面acci.jsp计算平均成绩页面4.2.3运行界面登录界面如下 登录成功和失败的页面如下: 增删改查操作的成绩表格:添加后表为:删除掉张思成绩后表格如下:将李四的成绩改为99后表格如下:4.2.4主要代码1.登录的JSP代码:<form action="servlet/LoginS

8、ervlet" method="get"> 用户名<inputtype="text" name="username"/> 密 码<input type="password" name="password"/><br> <input type="submit" value="登录"/>登录失败进入error.jsp页面重新输入用户名和密码,登录成功进入success.jsp页面,进行相关操作。2

9、.SERVLET控制层代码:添加成绩代码:public class AddServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAddScores(); request.setAttribute("allscores&q

10、uot;, list); request.getRequestDispatcher("/add.jsp").forward(request, response);删除成绩代码:public class DeleteServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(

11、); List list=scoreservice.getDeleteScores(); request.setAttribute("allscores", list); request.getRequestDispatcher("/delete.jsp").forward(request, response);修改成绩代码public class UpdateServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse resp

12、onse)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAddScores(); request.setAttribute("allscores", list); request.getRequestDispatcher("/update.jsp").forward(request, response);查询成绩代码:public class ScoreServlet extends

13、HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAllScores(); request.setAttribute("allscores", list); request.getRequestDispatcher("/show

14、AllScores.jsp").forward(request, response);计算平均成绩代码:public class ScoreServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException ScoreService scoreservice=new ScoreService(); List list=scoreservice.getAllScores();

15、request.setAttribute("allscores", list); request.getRequestDispatcher("/acc.jsp").forward(request, response);3.DAO层代码:DAO类的类名为“ScoreDao”,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、改、查操作,它的实现代码如下:public class ScoreDAO private static Score scores;public static List getAllScores()Connection con

16、=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement("select*from scores");ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt("sno"); score.setSname(rs.getString("sname");score.s

17、etCname(rs.getString("cname"); score.setGrade(rs.getInt("grade"); list.add(score);mit();return list; catch(SQLException e) e.printStackTrace(); return null;public static List getAddScores() throws SQLExceptionConnection con=DBConnection.getConnection(); tryList list=new ArrayList

18、();PreparedStatement ps=con.prepareStatement("insert into scores(sno,sname,cname,grade)values(?,?,?,?)");ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt("sno"); score.setSname(rs.getString("sname"); score.setCname(rs.getStr

19、ing("cname"); score.setGrade(rs.getInt("grade"); list.add(score);return list; catch(SQLException e) e.printStackTrace(); return null;public static List getDeleteScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatem

20、ent("delete*from scores where id=?");ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt("sno"); score.setSname(rs.getString("sname"); score.setCname(rs.getString("cname"); score.setGrade(rs.getInt("grade");

21、 list.add( score);return list; catch(SQLException e) e.printStackTrace(); return null;public static List getUpdateScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement("update*scores set sno=? sname=? cname=? grade=?");Re

22、sultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno(rs.getInt("sno"); score.setSname(rs.getString("sname"); score.setCname(rs.getString("cname"); score.setGrade(rs.getInt("grade"); list.add(score);return list; catch(SQLException

23、e) e.printStackTrace(); return null;public static List getAccScores()Connection con=DBConnection.getConnection();tryList list=new ArrayList();PreparedStatement ps=con.prepareStatement("select*from scores");ResultSet rs=ps.executeQuery();while(rs.next() Score score=new Score(); score.setSno

24、(rs.getInt("sno"); score.setSname(rs.getString("sname"); score.setCname(rs.getString("cname"); score.setGrade(rs.getInt("grade"); list.add(score);return list; catch(SQLException e) e.printStackTrace(); return null;4.SERVICE层代码:public class ScoreService public

25、List getAllScores()ScoreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getAllScores();public List getAddScores()ScoreDAO soreDAO=new ScoreDAO();return ScoreDAO.getAddScores();public List getDeleteScores()ScoreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getDeleteScores();public List getUpdateScores() Sc

26、oreDAO soreDAO=new ScoreDAO(); return ScoreDAO.getUpdateScores();public class UserService public static boolean CheckLogin(User user)if(user.getUsername().equals("admain")&&user.getPassword().equals("123456")return true;return false;5.实体类代码:Score实体: User实体:public class Sc

27、ore public class User private int sno; private String username;private String sname; private String password; /生成set和get方法private String cname;private int grade;/生成set和get方法6.连接数据库代码:public class DBConnection public static Connection getConnection() final String driverName="com.microsoft.jdbc.s

28、qlserver.SQLServerDriver" final String url="jdbc:microsoft:sqlserver:/localhost:1433;databasename=mydb" try Class.forName(driverName); catch(ClassNotFoundException e) e.printStackTrace(); try Connection con=DriverManager.getConnection(url,"sa","sa"); con.setAutoCom

29、mit(false); System.out.println(con); return con; catch(SQLException e) e.printStackTrace(); return null; 7. JSP页面:showAllScores.jsp:<body> <table border=1> <tr> <td>学号</td> <td>姓名</td> <td>课程名</td> <td>成绩</td> </tr> <% List l

30、ist=(List) request.getAttribute("allscores"); if(list!=null) for(Iterator it=list.iterator();it.hasNext();) Score score=(Score)it.next(); %> <tr> <td><%=score.getSno() %></td> <td><%=score.getSname() %></td> <td><%=score.getCname() %>

31、;</td> <td><%=score.getGrade() %></td> <tr> <% %> <a href="add.jsp">添加成绩</a> <a href="delete.jsp">删除成绩</a> <a href="update.jsp">修改成绩</a> <a href="acc.jsp">计算平均成绩</a> </body&

32、gt;Save.jsp:<body> <form action="servlet/servlet?arg=3" method="get"> <table border=1> <tr><td>学号</td><td> <input type="text" name="sno" ></td></tr> <tr><td>姓名</td><td> <inp

33、ut type="text" name="sname"></td></tr> <tr><td>课程名</td><td><input type="text" name="cname"></tr> <tr><td>成绩</td><td><input type="text" name="grade"></td>

34、</tr> </table> <input type="submit" name="submit" value="提交"> </body>增删改查操作jsp页面:<table border=1> <tr> <th>学号</th> <th>姓名</th> <th>课程</th> <th>成绩</th> </tr> <% List list=(List)

35、request.getAttribute("allscores"); if(list!=null) for(Iterator it=list.iterator();it.hasNext();) Score score=(Score)it.next(); %> <tr> <td><%=score.getSno()%></td> <td><%=score.getSname()%></td> <td><%=score.getCname()%></td> &

36、lt;td><%=score.getGrade()%></td> </tr> <% %>配置文件WEB.XML<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginServle

37、t</servlet-name> <servlet-class>com.scores.servlet.LoginServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name>

38、<servlet-name>AddServlet</servlet-name> <servlet-class>com.scores.servlet.AddServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE comp

39、onent</display-name> <servlet-name>DeleteServlet</servlet-name> <servlet-class>com.scores.servlet.DeleteServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description> <display-name>This is

40、 the display name of my J2EE component</display-name> <servlet-name>ScoreServlet</servlet-name> <servlet-class>com.scores.servlet.ScoreServlet</servlet-class></servlet><servlet> <description>This is the description of my J2EE component</description&

41、gt; <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UpdateServlet</servlet-name> <servlet-class>com.scores.servlet.UpdateServlet</servlet-class></servlet><servlet> <description>This is the description of m

42、y J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AccServlet</servlet-name> <servlet-class>com.scores.servlet.AccServlet</servlet-class></servlet><servlet-mapping> <servlet-

43、name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>AddServlet</servlet-name> <url-pattern>/servlet/AddServlet</url-pattern></servlet-mapping><servlet-mapp

44、ing> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/servlet/DeleteServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>ScoreServlet</servlet-name> <url-pattern>/servlet/ScoreServlet</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/servlet/UpdateServlet&

温馨提示

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

评论

0/150

提交评论