ImageVerifierCode 换一换
格式:DOC , 页数:70 ,大小:434KB ,
资源ID:778344      下载积分:11 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/778344.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(试卷分析报告产生系统.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

试卷分析报告产生系统.doc

1、 软 件 学 院 课程设计报告书 课程名称 JavaEE 课程设计 设计题目 试卷分析报告产生系统 专业班级 软件工程10-3班 学 号 1020010303 姓 名 韩飞 指导教师 刘佳旭 2013年01月

2、目录 1 设计时间 2013年1月21日-2013年1月23日 2 设计目的 JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的Java Web程序。 3 设计任务 (1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除学生成绩;用户添加完所有学生的成绩后

3、统计出<60分、60<=成绩<75、75<=成绩<90、90<=成绩<=100这四个分数段的学生人数。 (2)添加学生成绩:学生添加成绩信息(包括学号、姓名、成绩); (3)查看学生成绩 (4)删除学生成绩 (5)统计各分数段人数:统计出每个分数段的学生人数 4 设计内容 4.1需求分析 功能要求为:用户可以添加、删除、查看学生成绩,学生成绩中包括学号、姓名、成绩三项信息。 总体目标、 具体目标 系统数据建模 数据功能建模 图4-1为系统的数据流图,4-2为进一步分解后的数据流图。 图 4-1 数据流图 删除操作 统计操作 查看操作 返回 添加操作

4、返回数据 返回数据 要求统计 要求删除 用户信息 登陆 登陆 用户 添加 查看 删除 统计 用户信息 用户信息 登录 信息 要求添加 要求查看 图 4-2 详细数据流图 5 概要设计 5.1 数据库设计 图5-1为成绩的E-R图。 成绩表 学号 姓名 成绩 图5-1 E-R图 本程序使用的数据库系统为SQL Server 2000,数据库名称为“mydb”,数据表名称为“score”,表结构如表5-1所示。 成绩表(学号,姓名,成绩),主码为学号。 列名 数据类型 长度 允许空 备注 number

5、Varchar 50 Y 学号 name varchar 50 Y 姓名 score int 4 Y 成绩 表4-1 成绩表详细设计 5.2 层次结构图 图 5-2 层次结构图 6 详细设计 6.1 程序流程图 图6-1为整个系统的程序流程图。 开始 输入用户名和密码 判断正误 显示成绩 添加成绩 删除成绩 成绩分类 显示成绩 成绩分类 添加成绩 删除成绩 结束 Y Y Y Y Y N N N N N 图 6-1 程序流程图 6.2 模块程序流程图 (1)图6-2为登陆流

6、程图。 图 6-2 登陆程序流程图 开始 输入用户名和密码 LoginServlet UserService 判断正误 Index.jsp 结束 Y N 开始 ListAllScoresServlet ScoreDAO.getAllScores() 访问数据库 ResuleSet 结束 ResuleSet showAllScores.jsp (2)图6-3为查看所有成绩流程图。 图 6-3 查看所有成绩流程图 (3)图6-4为查看添加成绩流程图。 图 6-4 添加成绩流程图 开始 addSc

7、ore.jsp AddScoreServlet ScoreDAO.addScore() 访问数据库 结束 showAllScores.jsp (4)图6-5为查看删除成绩流程图。 图 6-5 删除成绩流程图 (5)图6-6为查看成绩分类流程图。 图 6-6 查看成绩分类流程图 7 编码与实现 7.1 数据库的实现 图7-1为数据库创建截图,其中t_chengji表为所创建的成绩表。 图7-1 数据库创建 图7-2为成绩表的设计。 图7-2 成绩表实现 7.2 创建Java Web工程 图7-4 Java Web

8、工程目录结构图 图7-4为Java Web工程student_score的截图。 “ScoreDAO.java”为和数据库交互,进行增、删、改、查操作。 “Score.java”代表成绩信息的实体类。 “Segment.java”代表成绩段信息的实体类。 “User.java”代表用户信息的实体类。 “UserService.java”判断用户登陆信息是否正确的业务层。 “AddScoreServlet.java”为接收页面表单数据并增加成绩信息的Servlet类,继承“HttpServlet”。 “ClassifyAllScoresServlet.java”为将数据库中成绩信

9、息分类的Servlet类,继承“HttpServlet”。 “DeleteScoreServlet.java”为接收页面表单数据并删除相应成绩信息的Servlet类,继承“HttpServlet”。 “ListAllScoresServlet.java”为列出数据库中所有成绩信息的Servlet类,继承“HttpServlet”。 “LoginServlet.java”为接收页面表单登陆信息并验证用户信息的Servlet类,继承“HttpServlet”。 “DBConnection.java”为获得数据库连接的工具类。 “SQL Server JDBC Driver”为与数据库SQ

10、L Server 2005连接的驱动包。 “Web.xml”为配置Servlet中元素和元素的XML文件。 “addScore.jsp”为增加学生成绩的JSP页面。 “classifyAllScores.jsp”为分类学生成绩的JSP页面。 “deleteScore.jsp”为删除学生成绩的JSP页面。 “index.jsp”为主页面。 “login.jsp”为登陆页面。 “loginError.jsp”为登陆失败页面。 “showAllScores.jsp”为显示所有学生成绩的JSP页面。 7.3 工具类的实现 工具类名

11、为“DBConnection”,该类用于获得数据库的连接,它的实现代码如下: public class DBConnection { public static Connection getConnection(){ final String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; final String url="jdbc:sqlserver://localhost:1433;databasename=mydb"; try{ Class.forName(driverName);

12、 }catch(ClassNotFoundException e){ e.printStackTrace(); } try{ Connection con=DriverManager.getConnection(url, "sa", "sa"); con.setAutoCommit(false); return con; }catch(SQLException e){ e.printStackTrace(); } return null; } } 7.4 实体类的实现 实体类有三类。 (1)第一类的类名为“Sc

13、ore”,该类拥有代表成绩信息的私有属性以及各个属性的set、get方法,它的实现代码如下: public class Score { private int id; private String name; private int score; public int getId() { return id; } public void setId(int id) { this.id = id; } //省略其他的get、set方法 } (2)第二类的类名为“Segment”, 该类拥有代表成绩分类信息的私有属性以及各个属性的set、get方法,

14、它的实现代码如下: public class Segment { private String segment; private int num; public String getSegment() { return segment; } public void setSegment(String segment) { this.segment = segment; } //省略其他的get、set方法 } (3)第三类的类名为“User”,该类拥有代表用户信息的私有属性以及各个属性的set、get方法,它的实现代码如下: public clas

15、s User { private String username; private String userpsw; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } //省略其他的get、set方法 } 7.5 DAO类的实现 DAO类的类名为“ScoreDao”,该类使用JDBC技术实现,用于和数据库交互,进行相关的增、删、查、统计操作,它的实现代码如下:

16、public class ScoreDAO { //查询所有成绩信息 public List getAllScores() { Connection con = DBConnection.getConnection(); String listSQL = "select * from scores"; List list = new ArrayList(); try { PreparedStatement psmt = con.prepareStatement(listSQL); ResultSet rs = psmt.executeQuer

17、y(); while (rs.next()) { Score score = new Score(); score.setId(rs.getInt("id")); score.setName(rs.getString("name")); score.setScore(rs.getInt("score")); list.add(score); } mit(); return list; } catch (SQLException e) { e.printStackTrace(); } final

18、ly { if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } return null; } //添加成绩信息 public boolean addScore(Score score) throws Exception { Connection con = DBConnection.getConnection(); String listSQL = "ins

19、ert into scores values(?,?,?)"; PreparedStatement pstmt = con.prepareStatement(listSQL); try { pstmt.setInt(1, score.getId()); pstmt.setString(2, score.getName()); pstmt.setInt(3, score.getScore()); pstmt.executeUpdate(); mit(); return true; } catch (SQLException e)

20、{ con.rollback(); e.printStackTrace(); } finally { con.close(); } return false; } //删除成绩信息 public boolean deleteScore(Score score) throws Exception { Connection con = DBConnection.getConnection(); String listSQL = "delete from scores where id=?"; PreparedStateme

21、nt pstmt = con.prepareStatement(listSQL); try { pstmt.setInt(1, score.getId()); pstmt.executeUpdate(); mit(); return true; } catch (SQLException e) { con.rollback(); e.printStackTrace(); } finally { con.close(); } return false; } //成绩分类查询 public Lis

22、t classifyAllScores(){ Connection con = DBConnection.getConnection(); List list = new ArrayList(); try{ PreparedStatement psmt1 = con.prepareStatement("select * from scores where 0<=score and score<60"); PreparedStatement psmt2 = con.prepareStatement("select * from scores where 60<=

23、score and score<75"); PreparedStatement psmt3 = con.prepareStatement("select * from scores where 75<=score and score<90"); PreparedStatement psmt4 = con.prepareStatement("select * from scores where 90<=score and score<=100"); Segment segment1=new Segment(); Segment segment2=new Seg

24、ment(); Segment segment3=new Segment(); Segment segment4=new Segment(); //第一段计数 ResultSet rs = psmt1.executeQuery(); int count=0; while(rs.next()){ count++; } segment1.setSegment("0<=score<60"); segment1.setNum(count); //第二段计数 rs = psmt2.executeQuery(

25、); count=0; while(rs.next()){ count++; } segment2.setSegment("60<=score<75"); segment2.setNum(count); //第三段计数 rs = psmt3.executeQuery(); count=0; while(rs.next()){ count++; } segment3.setSegment("75<=score<90"); segment3.setNum(count); //

26、第四段计数 rs = psmt4.executeQuery(); count=0; while(rs.next()){ count++; } segment4.setSegment("90<=score<=100"); segment4.setNum(count); list.add(segment1); list.add(segment2); list.add(segment3); list.add(segment4); mit(); return list; }catch(SQL

27、Exception e){ e.printStackTrace(); }finally { if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } return null; } } 7.6 Servlet类的实现 Servlet类共有5个类。 (1)第一个Servlet类的类名为“AddScoreServlet”,该类继承了“HttpServlet”,该类用于接

28、收页面表单中的数据并将数据传递到DAO类进行添加成绩操作,它的实现代码如下: public class AddScoreServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpSe

29、rvletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); int id=0; if(!request.getParameter("id").equals("")&&request.getParameter("id")!=null) id=Integer.parseInt(request.getParameter("id")); String name=(String)request.getParameter("na

30、me"); int score=0; if(!request.getParameter("score").equals("")&&request.getParameter("score")!=null) score=Integer.parseInt(request.getParameter("score")); Score score1=new Score(); score1.setId(id); score1.setName(name); score1.setScore(score); ScoreDAO scoreDAO=new ScoreDA

31、O(); try{ scoreDAO.addScore(score1); }catch(Exception e){ e.printStackTrace(); } List list=scoreDAO.getAllScores(); request.setAttribute("allScores", list); request.getRequestDispatcher("/showAllScores.jsp").forward(request, response); } } (2)第二个Servlet类的类名为“ClassifyAll

32、ScoresServlet”,该类继承了“HttpServlet”,用于DAO将成绩分类信息传递给“classifyAllScores.jsp”页面。实现代码如下: public class ClassifyAllScoresServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ScoreDAO scoreDAO=new ScoreDAO()

33、 List list=scoreDAO.classifyAllScores(); request.setAttribute("classifyAllScores", list); request.getRequestDispatcher("/classifyAllScores.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExc

34、eption { this.doGet(request, response); } } (3)第三个Servlet类的类名为“DeleteScoreServlet”,该类继承了“HttpServlet”,用于将JSP页面所要删除的成绩信息传递给DAO进行删除操作。实现代码如下: public class DeleteScoreServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletEx

35、ception, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK"); int id = 0; if(!request.getParameter("id").equals("")&&request.getParameter(

36、"id")!=null) id=Integer.parseInt(request.getParameter("id")); Score score=new Score(); score.setId(id); ScoreDAO scoreDAO=new ScoreDAO(); try{ scoreDAO.deleteScore(score); }catch(Exception e){ e.printStackTrace(); } List list=scoreDAO.getAllScores(); request.setAt

37、tribute("allScores", list); request.getRequestDispatcher("/showAllScores.jsp").forward(request, response); } } (4)第四个Servlet类的类名为“ListAllScoresServlet”,该类继承了“HttpServlet”,用于将DAO中所查询出的所有成绩信息传递给“showAllScores.jsp”页面。该类实现代码如下: public class ListAllScoresServlet extends HttpServlet { public voi

38、d doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ScoreDAO scoreDAO=new ScoreDAO(); List list=scoreDAO.getAllScores(); request.setAttribute("allScores", list); request.getRequestDispatcher("/showAllScores.jsp").forward(request, r

39、esponse); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } (5)第五个Servlet类的类名为“LoginServelt”,该类继承了“HttpServlet”,用于将“login.jsp”页面内的表单信息传递给“UserService”进行判定。如果正确验证则将转到“index.jsp”页面,否则将

40、转到“loginError.jsp”页面。该类实现代码如下: public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String userpsw=request.getParameter("userps

41、w"); User user =new User(); user.setUsername(username); user.setUserpsw(userpsw); UserService userService=new UserService(); if(userService.CheckLogin(user)){ HttpSession session =request.getSession(); session.setAttribute("name", username); request.getRequestDispatcher("/

42、index.jsp").forward(request, response); }else{ request.getRequestDispatcher("/loginError.jsp").forward(request, response); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } }

43、 7.7 页面的实现 本程序有6个主要的页面。 (1)“login.jsp”页面包含一个由用户名文本框、密码框、提交按钮和重置按钮组成的表单。它的实现代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

用户名称:
用户密码:<

44、input type="password" name="userpsw" value="" />

(2)“index.jsp”页面包含“显示所有成绩”、“统计所有成绩”超链接,用于控制页面跳转。它的实现代码如下: <%@ page language="java" import="java.util.*"

45、 pageEncoding="GBK"%> 显示所有成绩
统计所有成绩
(3)“showAllScores.jsp”页面包含成绩信息列表和添加、删除、返回三个超链接,用于实现“添加成绩”、“删除成绩”、“返回”三个功能。它的实现代码如下: <%@ page language="java" impo

46、rt="java.util.*,domain.Score" pageEncoding="GBK"%>

<% List list=(List)request.getAttribute("allScores"); for(Iterator it=list.iterator();it.hasNext();){

47、 Score score=(Score)it.next(); %>

<% } %>
学号 姓名 成绩
<%=score.getId() %> <%=score.getName() %> <%=score.getScore() %>
添加 删除

48、 返回 (4)“addScore.jsp”页面包含学号文本框、姓名文本框、成绩文本框、提交按钮、返回超链接,用于数据添加到数据库。它的实现代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

49、>

学号:
姓名:
成绩:
返回
(5)“deleteScore.jsp”页面包含一个学号文本框、一个删除按钮、一个返回超链接。用于对所填学号的删除。它的实现代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服