JSP试卷管理系统_第1页
JSP试卷管理系统_第2页
JSP试卷管理系统_第3页
JSP试卷管理系统_第4页
JSP试卷管理系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

问题描述和分工情况 1 1 问题描述问题描述 Java 试卷管理系统 类型 Web 应用 要求 A 使用 JSP Servlet sqlserver2005 实现 Web 服务器用 tomcat B 分为以下模块 a 题库管理 i 分科目建立题库 ii 题目包括填空题 单选题 多选题和问答题 每道题有知 识点和难度 b 试卷管理 i 根据题库中的题目生成试卷 随机抽题 但可以规定每个 知识点所占的比例和抽取题目的各种难度所占的比例 ii 对生成的试卷可以人为修改 iii 以 Word 的格式输出试卷 1 2 分工情况分工情况 邓思铭 组长 负责整个系统的需求分析 确定各功能模块 系统开发的分工及开发过 程中的跟进 及整个系统的测试和调试工作 负责试题查询 试题修改等模块的 实现 李才运 负责应用程序写数据库连接 项目中登录 注册 抽取试题模板的实现 蒋潇毅 负责数据库的设计 试题的收集 网页输出到 word 技术的实现 2 系统总体设计 2 1 开发环境描述开发环境描述 myeclipse8 5 tomcat 6 0 1 sql server 2005 1 2 2 系统设计方案综述系统设计方案综述 本系统使用 JSP Servlet sqlserver2005 实现 并通过 tomcat5 0 发布供外部测试及使用 系统的各主要功能流程如图 1 所示 登录页面 用户有效性 判断及 访问权限控制 注册页面 对应主功能页面 查询试题 修改试题增加试题产生试卷 修改试卷 输出到word 图 1 3 系统详细设计 3 1 数据库设计数据库设计 1 绘制 E R 图 如图 2 所示 用户试题 用户编号 知识点答案 题号 用户类型 用户类型 用户名 题型科目 试题内容难度 管理 图 2 2 将 E R 图转换为关系模型 2 UserInfo Unum Utype Uname Upassword QuestionInfo Qnum Qcontact Qlevel Qtype Qsubject Qanswer 3 使用 sql server 2005 创建数据库 创建数据库 if exists select from sysdatabases where name PaperManagerDB drop database PaperManagerDB exec xp cmdshell mkdir E accp database PaperManagerDB create database PaperDB on name PaperManagerDB data filename E accp database PaperDB PaperManagerDB data mdf size 10 filegrowth 1 log on name PaperManagerDB log filename E accp database PaperManager PaperManagerDB data ldf size 5 maxsize 20 filegrowth 1 go 创建数据库表 Qnum 试题编号 Qsubject 科目 Qtype 题型 Qcontact 内容 Qpoint 知识点 Qlevel 难度 Qanswer 答案 use PaperManagerDB go if exists select from sysobjects where name QuestionInfo drop table QuestionInfo create table QuestionInfo Qnum int identity 1 1 primary key 3 Qsubject varchar 8 not null Qtype varchar 10 not null Qcontact text not null Qpoint text not null Qlevel varchar 10 not null Qanswer text not null go 3 2 各模块设计各模块设计 1 数据库连接 通过编写 DB 类存储 Web 应用所用到常用数据库操作的方法 供 Web 调用 代码 import java sql public class DBConn Connection conn null Statement state null String sql String driverName com microsoft sqlserver jdbc SQLServerDriver 加载 JDBC 驱动 String dbURL jdbc sqlserver localhost 1433 DatabaseName PaperManagerDB 连接服务器和数据库 sample String userName sa 默认用户名 String userPwd 密码 public static Connection getConnection Connection conn null Statement state null String driverName com microsoft sqlserver jdbc SQLServerDriver String dbURL jdbc sqlserver localhost 1433 DatabaseName PaperManagerDB String userName sa 默认用户名 String userPwd 密码 try Class forName driverName conn DriverManager getConnection dbURL userName userPwd System out println Connection Successful 如果连接成功 控制台输出 Connection Successful catch Exception e e printStackTrace return conn 4 public static void closeStatement PreparedStatement pstate try if pstate null pstate close pstate null catch SQLException e e printStackTrace public static void closeConnection Connection conn try if conn null catch SQLException e e printStackTrace public static void closeResultSet ResultSet res try if res null res close res null catch SQLException e e printStackTrace 2 登录模块 接受用户输入 通过 javascript 判断输入的合法性 若合法 则提交 到登录页的 jsp 处理 通过查询数据库 判断是否存在此用户 或存 在 刚进入主功能页面 并保存登录信息 代码 function on submit if form1 username value 5 alert 用户名不能为空 请输入用户名 form1 username focus return false if form1 password value alert 用户密码不能为空 请输入用户密码 form1 password focus return false 无标题文档 欢迎使用试卷管理系统 6 用户名 用户密码 用户类型 管理员 老师 学生 注册 7 3 注册模块 接受用户输入 通过 javascript 判断输入的合法性 若合法 则向数据 库用户表插入一条用户数据 代码 无标题文档 function on submit if form1 username value alert 用户名不能为空 form1 username focus return false if form1 password value alert 密码不能为空 form1 password focus return false if form1 checkpassword value alert 确认密码不能为空 form1 checkpassword focus return false 8 if form1 password value form1 checkpassword value alert 密码不一致 form1 checkpassword focus return false if form1 licensenum value alert 用户证件号不能为空 form1 licensenum focus return false 试卷管理系统 用户信息 系统功能 用户注册 9 用户名 用户密码 确认密码 用户证件号 用户类型 学生 老师 管理员 10 4 增加试题 接受用户输入 通过 javascript 判断输入的合法性 若合法 则向数据 库试题表插入一条数据 代 码 base href My JSP addquestion jsp starting page 11 问 题 答 案 知识点 科 目 语文 数学 英语 题目类型 单选题 单选题 填空题 简答题 12 难度 1 2 3 4 5 5 修改试题 接受用户输入 通过 javascript 判断输入的合法性 若合法 则向数据 库更新或删除一条试题数据 代码 page request getParameter page 13 num request getParameter id qid Integer getInteger num try String sql delete from QuestionInfo where Qnum Qnum sql delete from QuestionInfo where Qnum num Connection conn DBConn getConnection PreparedStatement pst conn prepareStatement sql int result pst executeUpdate if result 1 out println out println 删除试题失败 out println 单击这里返回 out println catch Exception ee jsp param name Page value 6 查看试题 接受用户输入查询条件 将全部符合条件的试题输入到网页中 代码 base href My JSP scshijuan jsp starting page 14 function on submit if form1 kemu value equals 0 alert 请选择科目 if form1 tixing value equals 0 alert 请选择题型 if form1 nandu value equals 0 alert 请选择难度 试题要求 科目 option value 题型 单选题 多选题 填空题 简答题 难度 16 1 2 3 4 5 6 产生试题 按用户的要求在数据库上抽取符合条件的题目的输出到页面 用户可 对试题作进一步挑选 先选择科目 根据科目对每种题型选择考查的 知识点 对每种题型的知识点设置题数及难度 用户可对输出的试题 进行筛选 代码 base href 17 My JSP shijuan4 jsp starting page TranString tran new TranString jdbc sql relate new jdbc sql 知识点 String danxuan String session getAttribute danxuan String duoxuan String session getAttribute duoxuan String tiankong String session getAttribute tiankong String jianda String session getAttribute jianda session removeAttribute kemu session removeAttribute danxuan session removeAttribute duoxuan session removeAttribute tiankong session removeAttribute jianda int j danxuan length int k duoxuan length int l tiankong length int n jianda length 题数数组 int a new int j int b new int k int c new int l int d new int n 难度数组 String nandu1 new String j String nandu2 new String k String nandu3 new String l String nandu4 new String n 18 int num 1 题号 单选题 String name tishu1 String nandu nandu1 String p for int i 0 i j i p tran codeToString request getParameter name String valueOf i if p equals a i Integer parseInt p else a i 0 p tran codeToString request getParameter nandu String valueOf i if p equals 0 nandu1 i 1 else nandu1 i p if j 0 String condition ResultSet rs1 new ResultSet j out print out print 单选题 out print out print 是否选择 out print 试题号 out print 试题内容 out print 知识点 out print 难度 for int i 0 i j i 19 condition select from QuestInfo where Qpoint tran codeToString danxuan i and Qlevel nandu1 i and Qtype 单选题 if a i 0 relate set operate condition relate selectiton rs1 i relate get rs for int x 0 x a i x if rs1 i next break out print out print out print String valueOf num num out print rs1 i getString 4 out print rs1 i getString 5 out print rs1 i getString 6 out print 多选题 name tishu2 nandu nandu2 for int i 0 i k i p tran codeToString request getParameter name String valueOf i if p equals b i Integer parseInt p else b i 0 20 p tran codeToString request getParameter nandu String valueOf i if p equals 0 nandu2 i 1 else nandu2 i p if k 0 String condition1 ResultSet rs1 new ResultSet k out print out print 多选题 out print out print 是否选择 out print 试题号 out print 试题内容 out print 知识点 out print 难度 for int i 0 i k i condition1 select from QuestInfo where Qpoint tran codeToString duoxuan i and Qlevel nandu2 i and Qtype 多选题 if b i 0 relate set operate condition1 relate selectiton rs1 i relate get rs for int x 0 x b i x if rs1 i next break out print out print out print String valueOf num 21 num out print rs1 i getString 4 out print rs1 i getString 5 out print rs1 i getString 6 out print 填空题 name tishu3 nandu nandu3 for int i 0 i l i p tran codeToString request getParameter name String valueOf i if p equals c i Integer parseInt p else c i 0 p tran codeToString request getParameter nandu String valueOf i if p equals 0 nandu3 i 1 else nandu3 i p if l 0 String condition1 ResultSet rs1 new ResultSet l out print out print 填空题 22 out print out print 是否选择 out print 试题号 out print 试题内容 out print 知识点 out print 难度 for int i 0 i l i condition1 select from QuestInfo where Qpoint tran codeToString tiankong i and Qlevel nandu3 i and Qtype 填空题 if c i 0 relate set operate condition1 relate selectiton rs1 i relate get rs for int x 0 x c i x if rs1 i next break out print out print out print String valueOf num num out print rs1 i getString 4 out print rs1 i getString 5 out print rs1 i getString 6 out print 简答题 name tishu4 nandu nandu4 for int i 0 i n i 23 p tran codeToString request getParameter name String valueOf i if p equals d i Integer parseInt p else d i 0 p tran codeToString request getParameter nandu String valueOf i if p equals 0 nandu4 i 1 else nandu4 i p if n 0 String condition1 ResultSet rs1 new ResultSet n out print out print 简答题 out print out print 是否选择 out print 试题号 out print 试题内容 out print 知识点 out print 难度 for int i 0 i n i condition1 select from QuestInfo where Qpoint tran codeToString jianda i and Qlevel nandu4 i and Qtype 简答题 if d i 0 relate set operate condition1 24 relate selectiton rs1 i relate get rs for int x 0 x d i x if rs1 i next break out print out print out print String valueOf num num out print rs1 i getString 4 out print rs1 i getString 5 out print rs1 i getString 6 out print relate con close out print 7 输出试题 将最终用户产生的试题输出到 word 中 代码 25 base href My JSP shijuan5 jsp starting page jdbc sql relate new jdbc sql String condition select from QuestInfo ResultSet rs TranString tran new TranString int num 1 String a request getParameterValues danxuan String b request getParameterValues duoxuan String c request getParameterValues tiankong String d request getParameterValues jianda String p 26 out print 一 单选题 for int i 0 i a length i p where Qnum tran codeToString a i relate set operate condition p relate selectiton rs relate get rs rs next out print out print num num out print out print rs getString 4 out print 二 多选题 for int i 0 i b length i p where Qnum tran codeToString b i relate set operate condition p relate selectiton rs relate get rs rs next out print out print num num out print out print rs getString 4 out print 三 填空题 for int i 0 i c length i p where Qnum tran codeToString c i relate set operate condition p relate selectiton rs relate get rs rs next out print 27 out print num num out print out print rs getString 4 out print 四 简答题 for int i 0 i d length i p where Qnum tran codeToString d i relate set operate condition p relate selectiton rs relate get rs rs next out print out print num num out print out print rs getString 4 4 系统部署 1 运行数据库相关组件 2 将项目导入 myeclipse 工作台 并通过 tomcat5 0 进行发布 5 系统测试和运行效果 1 登录 登陆界面如图 3 所示 登陆后界面如图 4 所示 28 图 3 图 4 2 注册 注册界面如图 5 所示 29 图 5 3 查看试题 如图 6 图 7 所示 图 6 图 7 4 增加试题 如图 8 所示 30 图 8 5 删除试题 删除前如图 9 所示 删除后如图 10 所示 图 9 图 10 31 6 生成试卷 如图 11 图 12 图 13 和图 14 所示 图 11 图 12 32 图 13 图 14 33 7 输出到 word 如图 15 图 16 所示 图 15 图 16 6 总结 6 1 系统开发总结系统开发总结 这次的课程设计 在我们三人的共同努力之下 顺利地完成了 JSP 试卷生成系统 回 34 顾这次课程设计 从刚开始的茫然 对 JSP 的认识

温馨提示

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

评论

0/150

提交评论