a考试管理及成绩查询模块的设计与开发内容摘要:

文件请求时,它对 JSP 文件进行语法分析并生成 JAVA Servlet 源文件,然后对其进行编译。 一般情况下, Servlet源文件的生成和编译仅在初次调用 JSP 时发生。 如果原始的 JSP 文件被更新了,JSP 容器将检测所做的更新,在执行他之前重新生成 Servlet 并惊醒编译。 下图显示了 JSP 容器初次执行 JSP 的过程:尽管 JSP 在本质上是 Servlet,但这两者的创建方式不一样。 Servelet 完全由 java 程序代码构成,擅长于流程控制和事务处理,而通过 Servlet 来生成动态网页很不直观; JSP 由 HTML 代码和 JSP 标签构成可以方便的编写动态网页。 因此在实际应用中,采用 Servlet 来控制业务流程,而采用 JSP 来生成动态网页。 在 Struts 框架中, JSP 位于 MVC 设计模式的视图层,而 Servlet 位于控制层。 图 4 JSP容器初次执行 JSP的过程 Tomcat Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。 由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到体现。 Tomcat 被 JavaWorld 杂志的编辑选为 2020 年度最具创新的 java 产品,可见其在业界的地位。 Tomcat 最新版本是。 中采用了新的 Servlet 容器: Catalina,完整的实现了 和 规范。 Tomcat 提供了各种平台的版本供下载,可以从 上下载其源代码版或者二进制 版。 由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。 与传统的桌面应用程序不同,浏览器 JSP 容器 JSP 文件 生成 Servlet 源代码 经编译的 Servlet 类 请求 响应 第 8 页 共 26 页 Tomcat 中的应用程序是一个 WAR( Web Archive)文件。 WAR 是 Sun 提出的一种 Web 应用程序格式,与 JAR 类似,也是许多文件的一个压缩包。 这个包中的文件按一定目录结构来组织:通常其根目录下包含有 Html 和 Jsp 文件或者包含这两种文件的目录,另外还会有一个 WEBINF 目录,这个目录很重要。 通常在WEBINF 目录下有一个 文件和一个 classes 目录, 是这个应用的配置文 件,而 classes 目录下则包含编译好的 Servlet 类和 Jsp 或 Servlet 所依赖的其它类(如 JavaBean)。 通常这些所依赖的类也可以打包成 JAR 放到 WEBINF下的 lib 目录下,当然也可以放到系统的 CLASSPATH 中,但那样移植和管理起来不方便。 在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到Tomcat 的 webapp 目录下, Tomcat 会自动检测到这个文件,并将其解压。 你在浏览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat 要将 Jsp 转化为Servlet 文件,然 后编译。 编译以后,访问将会很快。 另外 Tomcat 也提供了一个应用: manager,访问这个应用需要用户名和密码,用户名和密码存储在一个 xml文件中。 通过这个应用,辅助于 Ftp,你可以在远程通过 Web 部署和撤销应用。 当然本地也可以。 在 Tomcat5 中,你还可以利用 提供的事件监听器功能,来对你的应用或者 Session 实行监听。 Tomcat 也提供其它的一些特征,如与 SSL 集成到一块,实现安全传输。 还有 Tomcat 也提供 JNDI 支持,这与那些 J2EE 应用服务器提供的是一致的。 说到这里我们要介绍 一下通常所说的应用服务器(如WebLogic)与 Tomcat 有何区别。 应用服务器提供更多的 J2EE 特征,如 EJB, JMS,JAAS 等,同时也支持 Jsp 和 Servlet。 而 Tomcat 则功能没有那么强大,它不提供EJB 等支持。 但如果与 JBoss(一个开源的应用服务器)集成到一块,则可以实现 J2EE 的全部功能。 既然应用服务器具有 Tomcat 的功能,那么 Tomcat 有没有存在的必要呢。 事实上,我们的很多中小应用不需要采用 EJB 等技术, Jsp 和Servlet 已经足够,这时如果用应用服务器就有些浪费了。 而 Tomcat 短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择 Tomcat。 基于 Tomcat 的开发其实主要是 Jsp 和 Servlet 的开发,开发 Jsp 和 Servlet 非常简单,你可以用普通的文本编辑器或者 IDE,然后将其打包成 WAR 即可。 我们这里要提到另外一个工具 Ant, Ant 也是 Jakarta 中的一个子项目,它所实现的功能类似于 Unix 中的 make。 你需要写一个 文件,然后运行 Ant 就可以完成 xml 文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在 xml 中写很少的东西就可以 将其编译并打包成 WAR。 事实上,在很多应用服务器的发布中都包含了 Ant。 另外,在 中,可以利用标签库实现 Java代码与 Html 文件的分离,使 Jsp 的维护更方便。 第 9 页 共 26 页 3 需求 分析和设计方案 考试管理 考试管理需求分析 考试管理是考试前准备非常重要的一部分,新建一门考试它基于前面的公共资源设置,出卷等模块,把与考试信息相关的东西综合起来,放到一张表中,生成一门信息完整的考试。 并且设置考试开始和结束时间,还有发卷时间,每门考试关联到哪张试卷,为后面的考试模块做了铺垫。 阅卷组设置是因为试卷 中有主观题和客观题,客观题可以自动阅卷,但是主观题就要老师阅卷,这时候,阅卷组把需要阅卷的试卷和老师组成的阅卷组关联起来,实现人工阅卷。 考试管理设计方案 新建一门考试:首先在第一个页面显示已经存在的考试,点添加后,进入到新建考试页面,在页面的上面可以选择考试类型和试卷类型,紧接着可以选择学年和学期,这样设计是为了确定每次考试的唯一性,下面可以进行省 、 市 、 区县 、学校 、 年级 、 科目的选择,这些字段在后台通过字符串相加,可以得到考试名称,和学年,学期一起确定每次考试的唯一性。 还可以进行适用班级的选择,因 为考虑到可能存在文科和理科班虽然有的科目一样,但是题的难度不一样,所以每门考试都设置了适用班级。 考试开始时间和结束时间的作用是在后台调用公共的方法,两个时间的差值 作 为考试时长。 发卷时间比考试开始时间要提前 510 分钟,是为了让考生有充分的时间浏览一下整套试卷,然后点保存,一门考试就建立好了。 阅卷组: 首先在第一个页面显示的是已经关联好了的考试和阅卷组,点击添加阅卷组可以添加一个阅卷组,然后可以设置需要进行阅卷的考试和阅卷组进行关联。 成绩查询模块需求分析 既然是考试系统,肯定涉 及到成绩,成绩查询模块就是方便学生对自己已经考过的科目进行一下自我评定,这里可以看到自己所有的历史试卷,并且可以知道每道题的得分情况,使考生对自己的情况有一个大致的了解,针对自己的弱项进行复习,这样可以做到有的放矢。 成绩查询模块设计方案 首先确定用户的登陆身份,如果是学生登陆的话,展现给学生的是自己所有的历史考试科目,成绩,以及使用的哪一套试卷,当点击该试卷时,弹出来的是该整套试卷,并且可以看到自己每道题的得分情况,使考生对自己有一个整体的 第 10 页 共 26 页 了解,并在以后的考试中有一个努力的方向。 4 系统 设 计 与实现 数据库设计 考试管理数据 库 ER 图及其数据 库表 商业源代码,全套计算机毕业设计免费下载 更多全套设计联系 :1042897696 最新设计大全 图 5 考试管理模块的数据库 ER图 (学校相关) 图 6 考试管理模块的数据库 ER图 (考试相关) 表 1 省 级名称表 : smart_province 字段名 类型 说明 约束 备注 province_id bigint 标志 Not null province_name Varchar(50) 省名 Not null remark Varchar(500) 备注 表 2 市 级名称表 : smart_city 字段名 类型 说明 约束 备注 city_id Bigint 标志 Not null 第 11 页 共 26 页 city_name Varchar(50) 城市名 Not null refer_province Bigint 相关省 Not null 连接 smart_province remark Varchar(500) 表 3 县 级名称表 : smart_county 字段名 类型 说明 约束 备注 county_id Bigint 标志 Not null county_name Varchar(50) 县名 Not null refer_province Bigint 相关省 Not null 连接 smart_province refer_city Bigint 相关城市 Not null 连接 smart_city remark Varchar(500) 表 4 学校 名 称表 : smart_school 字段名 类型 说明 约束 备注 school_id Bigint 标志 Not null school_province Bigint 相关省 连接 smart_province school_city Bigint 相关城市 连接 smart_city school_county Bigint 相关县 连接 smart_county school_name Varchar(100) 学校名 Not null school_desc Varchar(1000) 学校描述 remark Varchar(500) 备注 表 5 物理年级 表 : smart_real_grade 字段名 类型 说明 约束 备注 grade_id bigint 标志 Not null grade_name Varchar(50) 年级名称 Not null grade_desc Varchar(1000) 年级描述 refer_logic_grade Bigint 相关逻辑年级 Not null 连接 smart_logic_grade refer_school_id Bigint 相关学校 Not null 连接 smart_school 第 12 页 共 26 页 remark Varchar(500) 表 6 班级表 : smart__class 字段名 类型 说明 约束 备注 class_id bigint 标志 Not null class_name Varchar(50) 班名称 Not null class_number Varchar(100) 班级编号 Not null refer_grade Bigint 相关年级(物理) Not null 连接 smart_real_grade class_desc Varchar(1000) 班描述 remark Varchar(500) refer_teacher Bigint 班主任 连接 smart_user 表 7 课程表: smart_course 字段名 数据类型 说明 非空限制 备注 course_id bigint 自增 id Not null course_no Varchar(16) 主键 Not null course_name Varchar(50) 课程名称 Not null ref_grade_no Varchar(16) 年级外键 Not nu。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。