javaEE学生专业课程设计成绩评估系统.doc
《javaEE学生专业课程设计成绩评估系统.doc》由会员分享,可在线阅读,更多相关《javaEE学生专业课程设计成绩评估系统.doc(19页珍藏版)》请在咨信网上搜索。
软 件 学 院 课程设计汇报书 课程名称 JAVA EE课程设计 设计题目 学生课程设计成绩评定系统 专业班级 学 号 姓 名 指导老师 年 12 月 目 录 1 设计时间 3 2 设计目标 3 3设计任务 3 4 设计内容 3 4.1抽象数据类型定义………………………………………………………….…….3 4.1.1程序所建立包 …………………………………………………..…………3 4.1.2 程序所需要导入包 …………………………………………..…………..4 4.2数据库部分实现 ………………………………………………………………….4 4.2.1 E-R图 ………………………………………………………………………..4 4.2.2 逻辑设计 ……………………………………………….……………………5 4.3程序步骤 …………………………………………………………………………….6 4.4模块间层次关系 ……………………………………………………..……………...7 4.5 系统代码实现 …………………………………………………………………...…7 4.6 测试结果 ……………………………………………………..……………………15 4.6.1 登录测试结果 ………………………………………………………..……15 4.6.2 显示测试结果 ……………………………………………………… ….…15 4.6.3 添加测试结果 ……………………………………………………..………16 4.6.4 删除测试结果 ……………………………………………………..………16 5 总结和展望 ……………………………………………………..……………………17 参考文件 ………………………………………………………………………………….18 1 设计时间 /12/12--/12/16 2 设计目标 JavaEE课程设计是对所学JavaEE和中间件课程小结,是提升学生对所学知识综合应用能力一个方法,是集中实践性步骤之一。要求同学们对课程中所学习到知识综合利用,开发有一定规模Java Web程序。 3设计任务 (一)必备功效说明: (1)评定说明:评定指标有课程设计汇报成绩(权值为0.5,四种成绩为90、80、70、60)、上机考勤成绩(权值为0.2,四种成绩为90、80、70、60)、程序开发成绩(权值为0.3,四种成绩为90、80、70、60);最终成绩是这三个指标加权平均值。 (2)功效描述:用户以正当身份登录系统后,才能进行全部操作;用户能够添加、查看和删除课程设计信息(课程设计名称、指导老师、课程设计汇报成绩、上机考勤成绩、程序开发成绩)。 (3)添加课程设计信息 (4)查看课程设计信息 (5)删除课程设计信息 (6)计算每个课程设计最终成绩 (二)开发语言和开发环境: MyEclipse、Java、数据库(sqlserver、mysql、oracle等任选一个) 4 设计内容 4.1 抽象数据类型定义 4.1.1程序所建立包 com.jdbc.domain com.jdbc.dao com.jdbc.servlet com.jdbc.service com.jdbc.util 4.1.2程序所需要导入包 import java.sql.*;; import java.util.* import java.io.*; import javax.servlet.*; import javax.servlet.http.*; 4.2数据库部分实现 4.2.1 E-R图 上机考勤成绩 程序开发成绩 程序信息 程序设计成绩 图1程序信息E-R图 4.2.2 逻辑设计 1. 系统表 表1 数据包course 列名 数据类型 长度 是否为空 含义 id bigint 8 N 程序编码,主键, 自动增加 程序设计名称 varchar 50 Y 程序设计名称 指导老师 varchar 50 Y 指导老师 程序设计成绩 varchar 50 Y 程序设计成绩 上机考勤成绩 varchar 50 Y 上机考勤成绩 程序开发成绩 varchar 50 Y 程序开发成绩 4.3程序步骤图 开始 登录界面 输入用户名和密码 是否符合身份 错误页面 N Y 成功页面 显示对应程序信息 对程序设计进行评定 结束 图2 程序步骤图 4.4模块间层次关系 登录模块 密器、解密模块 成功模块 密器、解密模块 失败模块 密器、解密模块 计算模块 删除模块 显示模块 添加模块 图3 层次(调用)关系图 4.5 系统代码实现 1.页面实现 本程序四个关键页面:“login.jsp”,“error.jsp”,“showAllcourses.jsp”和“savaCourse.jsp”, “login.jsp”用于用户登录,它关键代码以下: <body> <form action="login.action" method="post"> 用户名 :<input type="text" name="username"/><br> 密码: <input type="password" name="password"/><br> <input type="submit" value="登录"/> </form> </body> “error.jsp”当登录失败时,跳转到本页面,然后超链接到登录页面,它关键代码以下: <head> <title>错误页面 </title> </head> <body> <center>你用户名或密码错误,请重新<a href="login.jsp">登录</a></center> </body> “showAllcourses.jsp”用于显示全部课程信息和学分统计,它关键代码以下 <head> <base href="<%=basePath%>"> <title>显示页面</title> </head> <body> <table border="1"> <tr> <th>id</th> <th>程序设计名称</th> <th>指导老师</th> <th>课程设计成绩</th> <th>上机考勤成绩</th> <th>程序开发成绩</th> </tr> <% List list=(List)request.getAttribute("allcourses"); int counta=0,countb=0; for(Iterator it=list.iterator();it.hasNext();){ Course course=(Course)it.next(); %> <tr> <td><%= course.getId() %></td> <td><%= course.getProgram() %></td> <td><%= course.getCourse() %></td> <td><%= course.getComputer() %></td> </tr> <% if(course.getCourse().equals("程序设计”){ counta=counta+course.getCounts(); } } %> <tr><td><a href="saveCourse.jsp">添加程序</a></td></tr> </table> <form action="servlet/deleteServlet" method="post"> 删除程序信息:<input type="text" name="delete"/><br/> <input type="submit" value="删除"/> </form> </body> “savaCourse.jsp”为添加程序信息,它关键代码以下: <body><form method="post" action=" savaCourse.action" name="form1"> <table width="200" border="1"> <tbody><tr> <td> 学号</td> <td> <input type="text" size="13" name="number"></td></tr> <tr> <td> 汇报成绩</td> <td> <input type="text" size="13" name="baogao"></td></tr> <tr> <td> 考勤成绩</td> <td> <input type="text" size="13" name="kaoqin"></td></tr> <tr> <td> 代码成绩</td> <td> <input type="text" size="13" name="code"></td></tr> <tr> <td> <input type="submit" value="添加" name="add"></td> <td> <input type="reset" value="重置" name="button3"></td></tr> </tbody></table></form> </body> 2.工具类实现 工具类名为“DBConnection”,该类用于取得数据库连接,它实现代码以下: public class DBConnection { public static Connection getConnection(){ final String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"; final String url="jdbc:microsoft:sqlserver://localhost:1433;databasename=course _shop"; try{ Class.forName(driverName); }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; } } 3.实体类实现 实体类类名有”Course”,”Program”,”Computer”,”Course”类拥有课程设计成绩私有属性及各个属性set、get方法,”Program”类拥有课程设计成绩私有属性及各个属性set、get方法,”Computer”类拥有课程设计成绩私有属性及各个属性set、get方法,它实现代码以下: public class User { private String course; private String Program; private String Computer; public String getCouursename() { return Couursename } public void set Couursename (String username) { this. Couursename = Couursename; } 4.DAO类实现 DAO类类名为“CoursesDao”,该类使用JDBC技术实现,用于和数据库交互,进行相关增、删、改、查操作,它实现代码以下: public class CoursesDAO { public List getAllCourse(){ Connection con=DBConnection.getConnection(); List list=new ArrayList(); try{ PreparedStatement ps=con.prepareStatement("select * from course"); ResultSet rs=ps.executeQuery(); while(rs.next()){ Course course =new Course(); course.setId(rs.getLong("id")); course.setCourse(rs.getString("course")); course.setProgram(rs.getString("program")); course.setComputer(rs.getInt("computer")); list.add(course); } return list; }catch(SQLException e){ e.printStackTrace(); } return null; } public boolean saveUser(Course course) throws Exception{ Connection conn=DBConnection.getConnection(); String listSQL="insert into course values(?,?,?)"; PreparedStatement pstmt=conn.prepareStatement(listSQL); try{ pstmt.setString(1, course.getCourse()); pstmt.setString(2, course.getProgram()); pstmt.setString(3, course.getComputer()); pstmt.executeUpdate(); mit(); return true; }catch(SQLException e){ e.printStackTrace(); }finally{ conn.close(); } return false; } public boolean deleteCourse(Course course)throws Exception{ Connection conn=DBConnection.getConnection(); String listSQL="delete from course where id=?"; PreparedStatement pstmt=conn.prepareStatement(listSQL); try{ pstmt.setLong(1, course.getId()); pstmt.executeUpdate(); mit(); return true; }catch(SQLException e){ e.printStackTrace(); }finally{ conn.close(); } return false; } } 5.控制器类实现 控制器类类名有“LoginServlet”、“ListAllCoursesServlet”和“deleteServlet”类,它们全部继承了“HttpServlet”,用于接收页面表单中数据和将DAO类传输数据发送到页面中和控制页面转向,它们实现代码分别以下: public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); User user=new User(); user.setUsername(username); user.setPassword(password); HttpSession session=request.getSession(); String forward=" "; if(UserService.CheckLogin(user)){ forward="/index.jsp"; session.setAttribute("name", username); } else{ forward="/error.jsp"; } RequestDispatcher rd=request.getRequestDispatcher(forward); rd.forward(request, response); } } 6.Servic类实现 Service类类名有“UserServlet”和“CourseServlet”类,是用于控制器类和DAO类之间数据传输连接,它们实现代码分别以下: public class UserService { public static boolean CheckLogin(User user){ if(user.getUsername().equals("admin")&&user.getPassword().equals("123456")){ return true; } else return false; } } public class CourseService { public List getAllCourses(){ CoursesDAO CourseDAO=new CourseDAO(); return courseDAO.getAllCouse(); } } 4.6测试结果 4.6.1登录测试结果 图4 登录页面 图5登录失败页面 4.6.2显示测试结果 图6显示页面 4.6.3添加测试结果 图7添加页面 图8添加成功后课程信息 4.6.4删除测试结果 图9删除页面 图10删除后课程信息 5 总结和展望 这次课程设计让我愈加了解JAVA EE这门课程。课设题目要求不仅要求对书本知识有较深刻了解,同时要求程序设计者有较强思维和动手能力和愈加了解编程思想和编程技巧。 这次课程设计让我有一个深刻体会,那就是细节决定成败,编程最需要是严谨,怎样严谨全部不过分,往往检验了半天发觉错误发生在某个括号,分号,引号,或数据类型上。 程序设计时,也不要怕碰到错误,在实际操作过程中犯部分错误还会有意外收获,感觉课程设计很有意思。在具体操作中这学期所学数据结构理论知识得到巩固,达成课程设计基础目标,也发觉自己不足之出,在以后上机中应愈加注意,同时体会到java语言含有语句简练,使用灵活,实施效率高等特点。发觉上机关键作用,尤其算术表示式有了深刻了解。 另外,这次课程设计深入加强了我们利用java语言进行编程。同时我也意识到,开发程序早期计划要做充足,以免出现程序完成后发觉不足而带来修改麻烦。即使这只是一个小小程序,但对我们以后影响确实很大。 参考文件 [1] 范立峰,林果园 编著.Java Web 程序设计教程.北京:邮电出版社 [2] (美) Bruce Eckel 著.陈昊鹏 译.Java编程思想.第4版.北京:机械工业出版社 [3] baidu: [4] 李艺兴,杨瑞龙 编著.java EE Web编程. 北京:机械工业出版社 成绩评定 成绩 老师签字- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaEE 学生 专业课程 设计 成绩 评估 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文