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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9898338.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、 实训报告 课题名称: 学生网上选课系统 系 别: 经济与信息管理系 班 级: 13级软件班 学 号: 学生姓名: 指导老师: 完成日期: 2015.11.15 目录 一、设计任务与目的…………………………………………………3 二、需求分析 ………………………………………………………3 三、总

2、体设计…………………………………………………………3 3.1、系统功能结构示意图………………………………………3 3.2、系统功能说明………………………………………………4 3.3、数据库E-R图………………………………………………4 3.4、主要功能流程图……………………………………………5 四、详细设计…………………………………………………………6 4.1、系统文件框架图……………………………………………6 4.2、设计模式及关键技术………………………………………6 4.3、数据库设计…………………………………………………7 五、测试与运行结果……………………………………

3、……………8 六、参考文献…………………………………………………………9 七、设计心得…………………………………………………………10 附录……………………………………………………………………11 一、设计任务与目的 传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。通过设计网上学生选课系统,使我们对JAVA的JSP编程以及数据库(SQL Server)的搭建的认识更加熟悉了

4、解。 二、需求分析 本系统首先分为两大块:1、学生模块;2、管理员(老师)模块。 l 学生模块 1、 学生登录; 2、 学生注册; 3、 学生选课; 4、 学生退课; 5、 查看已选课程; 6、 学生成绩查询。 l 管理员(老师)模块 1、 管理员登录(usename:admin; password:admin); 2、 查看已开课程信息; 3、 增加新开课程; 4、 删除已有课程信息; 5、 修改课程信息; 6、 录入学生成绩。 三、总体设计 3.1、系统功能结构示意图 系统 前台管理 注册登录 选课退课 查询信息 修改信息 增减课程

5、 录入成绩 后台管理 查询学生信息 查询课程信息 查询选课信息 3.2、系统功能说明 l 前台管理 1、注册登录:用户的注册登录,包括学生用户的注册登录和管理员(老师)用户登录。 2、选课退课:学生对已有课程的选择或对已选课程的退选功能。 3、查询信息:学生对选课和成绩的查询以及管理员(老师)对课程信息的查询。 4、修改信息:管理员(老师)对课程信息的修改。 5、增减课程:管理员(老师)增加新课程或删除已有课程。 6、录入成绩:管理员(老师)录入学生课程学习的成绩。 l 后台管理 1、 查询学生信息:已登录管理员查看学生属性信息,包括学生的姓名,性别,院系,

6、以及联系电话。 2、 查询课程信息:已登录管理员查看课程信息列表,包括课程的名字,上课时间,上课地点,任课老师,任课老师电话,以及课程学分。 3、 查询选课信息:已登录管理员查看学生选课课程情况,包括学生姓名,课程名称,上课时间,上课地点,任课老师,学生电话,课程学分,以及学生课程成绩。 3.3、数据库E-R图 学生 课程 管理员(老师) 姓名 性别 学号 电话 学院 时间 地点 学分 姓名 电话 学习 任课 成绩 评分 3.4、主要功能流程图 regester.jsp 注册页面 index.jsp 学生 do_r

7、egester.jsp 注册成功返回 login.jsp operating.jsp 操作界面 selectcourse.jsp 选课 yixuan.jsp 查看已选 tuike.jsp 退课 gueryscore.jsp 成绩查询 管理员 index.jsp login.jsp managecourse.jsp 操作界面 course.jsp 显示课程 处理 对应的jsp deletecourse.jsp 删除课程 updatecourse.jsp 修改课程 index.jsp 录入成绩 addcourse.jsp 增加课程

8、 四、详细设计 4.1、系统文件框架图 4.2、设计模式及关键技术 l 设计模式 系统中有管理员(老师)对学生选课的管理包括添加课程,删除课程及录入成绩等功能,学生可以注册和登录到该系统,登录该系统之后可以查看学校所开的课程的基本信息,学生可以选修其中的一些比较喜欢的课程,当学生又有其它想法对某课程不感兴趣的时候也可以退选已选的课程,然后重新选择喜欢的课程,选课结束后老师就给同学们上课,最后老师根据各个学生的表现或通过考试给同学们相应的考试分数(通过系统录入),最后学生可以通过此系统来查询所选课程的考试成绩。如果学生发现成绩或其他信息出现问题,可以通过提供的教师电话联系该开课老师,

9、老师核对后可以进行相应的修改。 Jsp页面用于给用户提供界面,提交参数及显示结果。通过JavaBean处理参数并连接数据库,从数据库中获得用户请求的信息再交付给Servlet处理交付个用户显示在jsp页面。 l 关键技术 Ø JavaBean、Servlet技术 JavaBean封装了程序的页面逻辑,可以实现代码的重复利用,容易维护和使用,利用 动作元素就可以很容易的在各个jsp页面使用JavaBean,将要用到的方法都封装到java文件中通过JavaBean技术,直接调用其中的各种方法实现与jsp页面的交互。 Ø JDBC数据库连接技术 数

10、据库的连接在整个选课系统中是必不可少的,而且经常用到,于是我将它封装到dbcon.java的java文件中,其中有数据库连接的几个基本步骤:加载驱动,获得连接,创建Statement对象等等,这样做的好处是在当有与数据库连接的相关操作时就直接利用JavaBean技术就能很方便的实现。 Ø 登录注册的验证技术 登陆注册的验证主要通过专门编写的几个用于验证的函数和JavaScript脚本语言技术,以及数据库的创建时的数据的完整性约束等等来实现简单的验证 Ø 各页面之间跳转时参数的传递技术 各个页面之间的跳转时参数的传递主要用到了几个jsp内置对象:request,session等。在整个系

11、统所有页面都要用到的参数就用session对象的setAttribute()方法将参数存储到session对象中,然后利用getAttribute()方法获取参数。request对象的getPatameter()方法用于获取表单提交的参数。 Ø 编码解码技术 字符转换的函数codeToString()方法来处理系统中出现的乱码问题。通过对可能出现乱码的字符重新编码来解决乱码问题。 4.3、数据库设计 数据库:SQL Server 2000 个人版 数据库名:jsp_db(jsp_db_Data.MDF; jsp_db_Log.LDF); 学生信息表(stuInfo):

12、 24 课程表(course) 学生选课表(sc) 管理员登录信息表(adminInfo) 4.4、关键程序代码(见附录)。 五、测试与运行结果 六、参考文献 1、王珊,萨师煊,数据库系统概论,北京高等教育出版社,2006.7; 2、[美]布鲁斯•埃克尔(Eckel,B.),陈昊鹏 译,Java编程思想(第4版),机械工业出版社,2007.6; 3、[美]鲍格斯坦(Bergsten,H.),林琪、朱涛江 译,JSP设计(第三版),中国电力出版社,2004; 4、刘卫国,严晖,数据库技术应用----SQL Server,清华大学出版社

13、2007.1 七、设计心得 通过这次课程设计,对JSP、SQL Server 2000有了进一步的了解,也对网页设计有了一定的见解,对我们的网上选课系统进行分析,设计,实现。进一步的了解了JAVA编程和数据库。也增强了团队合作意识,共同合作精神。对以后的设计实现有了一定的基础,在这次课程设计中得到了很大的收获。 附录: adminbean.java package bean; import bean.dbcon; import java.sql.*; public class admi

14、nbean { private String tno; private String password; private ResultSet rs; private dbcon db= new dbcon(); public adminbean() { } public String getTno() { return tno; } public void setTno(String tno) { this.tno = tno; } public String getPassword() {

15、 return password; } public void setPassword(String password) { this.password = password; } public String checkTeacher() {//教师登陆验证 String backstr=""; boolean mark=true; if(this.tno==null||this.tno.equals("")) { backstr+="

  • 请输入教师编号!

  • "; mark=fals

    16、e; } if(this.password==null||this.password.equals("")) { backstr+="

  • 请输入密  码!

  • "; mark=false; } if(mark) { String sql="select * from adminInfo where tno='"+this.tno+"'and password='"+this.password+"'"; try{ rs=db.getRs(sql);

    17、 if(!rs.next()) backstr="false"; else backstr="true"; }catch(Exception e){e.printStackTrace();} } db.closed(); return backstr; } } courseInfo.java package bean; public class courseInfo { private String cno; private String cn

    18、ame; private String time; private String address; private String teacher; private String phone; private String xuefen; private String zno; private String zy; private String zx; public String getZno() { return zno; } public void setZno(String zno) { this.zno = zno; } p

    19、ublic String getZy() { return zy; } public void setZy(String zy) { this.zy = zy; } public String getZx() { return zx; } public void setZx(String zx) { this.zx = zx; } public String getCno() { return cno; } public void setCno(String cno) { o = cno; } public St

    20、ring getCname() { return cname; } public void setCname(String cname) { ame = cname; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getAddress() { return address; } public void setAddress(String addres

    21、s) { this.address = address; } public String getTeacher() { return teacher; } public void setTeacher(String teacher) { this.teacher = teacher; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getXue

    22、fen() { return xuefen; } public void setXuefen(String xuefen) { this.xuefen = xuefen; } } dbcon.java package bean; import java.sql.*; import java.util.*; import bean.scoretable; public class dbcon { private static Connection con; private Statement stm; private ResultSet

    23、 rs; private static String classname="com.microsoft.jdbc.sqlserver.SQLServerDriver"; private static String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsp_db"; public dbcon() { } public static Connection getConnection() {//连接数据库

    24、 try { Class.forName(classname); } catch(Exception e) { System.

    25、out.println("getConnection方法异常!"); e.printStackTrace(); } try{ con = DriverManager.getConnection(url,"sa",""); } catch(Exception e) { e.printStackTrace(); con=null; } return con; } public Statement getStm() { try{ getConnection(); stm=con.createS

    26、tatement(); }catch(Exception e) { e.printStackTrace(); System.out.println("getStm()方法异常!"); } return stm; } public ResultSet getRs(String sql){ getStm(); if(sql==null)sql=""; try{ rs=stm.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); Syst

    27、em.out.println("getRs()方法异常!"); rs=null; }return rs; } public void closed(){ try{ if(rs!=null)rs.close(); } catch(Exception e){e.printStackTrace();} try{ if(stm!=null)stm.close(); }catch(Exception e){e.printStackTrace();} try{ if(con!=null)con.close(); }c

    28、atch(Exception e){e.printStackTrace();} } public String codeToString(String str) {//处理中文字符串的函数 String s=str; try { byte tempB[]=s.getBytes("ISO-8859-1"); s=new String(tempB); return s; } catch(Exception e) { return s; } } pu

    29、blic void adduser(userbean user) throws SQLException {//注册用户信息入数据库 try { con=dbcon.getConnection(); PreparedStatement pstmt = con.prepareStatement("insert into stuInfo values(?,?,?,?,?,?,?,?)"); pstmt.setString(1,codeToString(user.getSno())); pstmt.setString(2,

    30、codeToString(user.getSname())); pstmt.setString(3,codeToString(user.getPassword())); pstmt.setString(4,codeToString(user.getSdept())); pstmt.setString(5,codeToString(user.getSex())); pstmt.setString(6,codeToString(user.getPhone())); pstmt.setString(7,codeToString(user.getQuestion

    31、))); pstmt.setString(8,codeToString(user.getAnswer())); pstmt.execute(); con.close(); } catch(Exception e) { } } public void addcourse(courseInfo course) throws SQLException {//增加的课程信息入数据库 try { con=dbcon.getConnection(); PreparedStatemen

    32、t pstmt = con.prepareStatement("insert into course values(?,?,?,?,?,?,?)"); pstmt.setString(1,codeToString(course.getCno())); pstmt.setString(2,codeToString(course.getCname())); pstmt.setString(3,codeToString(course.getTime())); pstmt.setString(4,codeToString(course.getAddress

    33、))); pstmt.setString(5,codeToString(course.getTeacher())); pstmt.setString(6,codeToString(course.getPhone())); pstmt.setString(7,codeToString(course.getXuefen())); pstmt.execute(); con.close(); } catch(Exception e) { System.out.println("addcourse()异常!"); }

    34、} //管理员 用 删除课程信息 public void deletecourse(String courseId) { String sql="delete from course where cno="+"'"+courseId+"'"; try{ con = getConnection(); Statement stm = con.createStatement(); stm.execute(sql); con.close(); stm.close(); }catch(Exception e) {

    35、 e.printStackTrace(); System.out.println("deletecourse()函数异常!"); } } //验证函数集 public boolean checkcourse(String number) {//添加课程信息时的验证 boolean num=false; try{ con = getConnection(); Statement stm = con.createStatement(); ResultSet result = stm.executeQuery("select * f

    36、rom course where cno='"+number+"'"); if(result.next()) num=true; else num=false; con.close(); stm.close(); result.close(); } catch(Exception e) { System.out.print("添加课程验证异常"); num=false; } return num; } public boolean checkuser_regester(String

    37、 number) {// boolean num=false; try{ con = getConnection(); Statement stm = con.createStatement(); ResultSet result = stm.executeQuery("select * from stuInfo where sno='"+number+"'"); if(result.next()) num=true; else num=false; con.close(); stm.close();

    38、 result.close(); } catch(Exception e) { System.out.print("学生注册验证异常"); num=false; } return num; } @SuppressWarnings("unchecked") public Collection getCourseInfo() { try { con = getConnection(); Statement stm = con.createStatement(); ResultSet result

    39、 = stm.executeQuery("select * from course"); Collection ret = new ArrayList(); while(result.next()) { courseInfo temp = new courseInfo(); temp.setCno(result.getString("cno")); temp.setCname(result.getString("cname")); temp.setTime(result.getString("time")); temp.

    40、setAddress(result.getString("address")); temp.setTeacher(result.getString("teacher")); temp.setPhone(result.getString("phone")); temp.setXuefen(result.getString("xuefen")); ret.add(temp); } con.close(); return ret; } catch(Exception e) { System.out.printl

    41、n("getCourseInfo()方法异常!"); } return null; } //删除选课课信息 public void deletexuanke(String userId,String courseId) { String sql="delete from sc where sno="+"'"+userId+"'"+"and cno="+"'"+courseId+"'"; try{ con = getConnection(); Statement stm = con.createStatement(); stm

    42、execute(sql); con.close(); } catch(Exception e) { e.printStackTrace(); System.out.println("deletexuanke()函数异常!"); } } //查询成绩 @SuppressWarnings("unchecked") public Collection getScoreInfo(String userId) { //String sql="select * from scoretable where sno="+"'"+use

    43、rId+"'"; String sql="select sno,cno,cname,xuefen,score from sc where sno="+"'"+userId+"'"; try { con = getConnection(); Statement stm = con.createStatement(); ResultSet result = stm.executeQuery(sql); Collection ret = new ArrayList(); while(result.next()) { scor

    44、etable temp = new scoretable(); temp.setSno(userId); temp.setCno(result.getString("cno")); temp.setCname(result.getString("cname")); temp.setXuefen(result.getString("xuefen")); temp.setScore(result.getString("score")); ret.add(temp); } con.close(); stm.c

    45、lose(); result.close(); return ret; } catch(Exception e) { System.out.println("getScoreInfo()方法异常!"); } return null; } } scoretable.java package bean; public class scoretable { private String sno; private String cno; private String cname; private String

    46、xuefen; private String score; public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getCno() { return cno; } public void setCno(String cno) { o = cno; } public String getCname() { return cname; } public void setC

    47、name(String cname) { ame = cname; } public String getXuefen() { return xuefen; } public void setXuefen(String xuefen) { this.xuefen = xuefen; } public String getScore() { return score; } public void setScore(String score) { this.score = score; } } usebean.java p

    48、ackage bean; import bean.*; import java.sql.*; @SuppressWarnings("unused") public class userbean { private String sno; private String sname; private String password; private String sdept; private String sex; private String phone; private String question; private String ans

    49、wer; private ResultSet rs; private dbcon db= new dbcon(); public userbean() { } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSdept() { return sdept; } public void setSdept(String sdept) { this.sdept =

    移动网页_全站_页脚广告1

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

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

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

    gongan.png浙公网安备33021202000488号   

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

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

    客服