基于J2EE的电子地图的实现.doc_第1页
基于J2EE的电子地图的实现.doc_第2页
基于J2EE的电子地图的实现.doc_第3页
基于J2EE的电子地图的实现.doc_第4页
基于J2EE的电子地图的实现.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

基于基于 J2EEJ2EE 的电子地图的实现的电子地图的实现 试卷生成系统的设计与开发 摘 要 随着社会的发展和教育制度的改革,在现代教学领域中,各个学科的信息 量越来越大,导致用于考核学生学习效果的试卷生成工作的复杂性也越来越大, 传统手写出题方式已经越来越不能适应现代教育模式的需要。因此,为了减轻 教师的工作负担、提高工作效率,同时使生成的试卷更加公正、客观地评价学 生的学习效果,有必要开发一个适合教师需求的高效率的试卷生成系统。 试卷生成系统可对试题实行科学的管理,利用现代电脑功能强大、运算速度 快的优点,对试题进行集中、有序、有效的管理,更新方便、查询快捷、组卷灵 活还可在组卷结束后通过打印机直接打印成试卷,大大降低了劳动强度,需用密 码登录系统,具有一定的安全性。 本系统使用 swing+JavaBean+servlet技术实现MVC三层结构设计,并结合 mysql 数据库设计开发的一个基于C/S架构的试卷生成系统。 关键词:C/S 架构 试卷生成 swing JavaBean mysql Design and Realization of Public Transport Inquiry System Based on J2EE Abstract Urban public transportation is an important part in traffic and transportation domain, and its also the inevitable result of social economys development in urban areas. As an important part of urban transportation system, urban public transportation system is acting a key role in human living, in social production and in transportation domain .But the inquiry system of public transportation developments in our country is in a comparatively backward level. The general passengers have less way to obtain the information. In order to solve this kind of problem, an inquiry system of public transport based on J2EE is designed. The thesis has introduced the realized functions of entire system in detail. Firstly, the system has realized many inquiry functions. The system can search bus route by the name of business mansion, the number of public transport, ordinary bus station and two arbitrary stations. Secondly, the system uses the shortest path algorithm to find the shortest travel routes between any two stations. Finally, the system provides the functions of consumer message, the bus number managing on the backstage and the consumer managing. The function of consumer message mainly collects suggestions from consumer to modify and perfect the system functions. The function of user managing is to delete user information mainly and revises the fundamental user information. The functions of bus number managing are mainly to add, update and delete the bus number and the station on the backstage. These can enable the system have the quality of real-time updating to provide the accurate information for user. Key words:J2EE; Shortest path algorithm; public transport inquiry 目目 录录 论文总页数:30 页 1 引言 .1 1.1 选题背景1 1.2 项目的主要研究工作2 1.3 开发环境2 2 理论基础 .2 2.1 概念2 2.1.1 J2EE 的概念.2 2.1.2 JSP 的概念3 2.1.3 Java Bean 的概念3 2.1.4 Java Servlet 的概念.3 2.1.5 Session 对象3 2.2 J2EE 的结构 .3 2.3 J2EE 的容器类型 .4 2.4 J2EE 的体系与模式 .4 2.4.1 J2EE 的体系(分布式计算).4 2.4.2 J2EE 的模式.4 3 电子地图功能分析 .4 3.1 电子地图系统的需求4 3.1.1 系统需求描述 .4 3.1.2 系统数据流图 .5 3.2 电子地图系统的功能5 3.3 电子地图系统的数据库设计6 3.3.1 E-R 图6 3.3.2 数据库表设计 .7 4 电子地图系统的设计与实现 .9 4.1 创建管理员登录的 SERVLET.9 4.2 创建用户登录的 SERVLET11 4.3 电子地图查询模块.12 4.3.1 商厦查询.12 4.3.2 车次信息查询 15 4.3.3 站点信息查询 17 4.3.4 两个站点间的信息查询 18 4.4 电子地图添加模块.23 4.4.1 添加车次 23 4.4.2 添加站点 24 4.5 电子地图删除模块.24 4.5.1 删除车次 24 4.5.2 删除站点 25 4.6 电子地图更新模块.25 4.7 电子地图留言板模块.26 4.7.1 发表留言 26 4.7.2 查看留言 26 4.7.3 删除留言 27 5 系统测试与分析 27 结 论 28 参考文献 28 致 谢 29 声 明 30 第 0 页 共 30 页 1 前 言 1.1 项目背景 随着教育机制竞争压力的增大,各个学校都加强了对学生考核制度的改 革,逐步建立了完善的考试系统。为了给学生提供更多的测试培训机会,需 要提供不同类型的试卷,但这却增加了教师在出卷过程中的工作负担。因此 ,为了减轻了教师及教务部门的工作量,提高工作效率,开发试卷生成系统 来满足这些条件是非常有必要的。 现在,各种网上教育系统也日趋成熟,这就给试卷生成系统提出了更高 的要求,使得其不但要具有组卷生成的功能,还得使试卷生成系统具有完善 的题库管理及应用功能,使其方便实用、操作简单等等。这些主要体现在题 库的灵活多变,考题可以随机抽取,并能自动组卷,从而方便了教师进行试 卷的排版处理及打印。 1.2 项目开发意义和目的 计算机作为数据处理系统,已逐渐成为试卷编辑的重要手段。特别是随 着 Internet 的快速发展,以及 WORD 在文档排版工作中的广泛应用,使得这 些技术在试卷编辑管理中发挥着重要的作用。 试卷生成系统有助于实现“考教分离” ,客观公正地评价学生的学习状况,它不仅 可以减轻教师的重复劳动, 提高工作效率, 而且避免了人工组卷时出错,使试卷生成过 程可以轻松进行。它更是学校实现考务自动化, 管理数字化、信息化的标志,有助于 对试卷进行统一管理,方便对试卷的分析,进一步提高教学质量。 1.31.3 开发环境开发环境 开发工具:MyEclipse 8.6。 运行环境:JSDK 1.5.0_04 虚拟机。 数据库:MYSQL 5。 操作系统:Windows 7。 所需内存:2G。 2 2 理论基础理论基础 2.12.1 概念概念 .1 J2SEJ2SE 的概念的概念 Standard Edition(标准版) J2SE 包含那些构成 Java 语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程 Enterprise Edition(企业版) J2EE 包含 J2SE 中的类,并且还包含用于开发企业级应 第 1 页 共 30 页 用的类。比如:EJB、servlet、JSP、XML、事务控制 Micro Edition(微缩版) J2ME 包含 J2SE 中一部分类,用于消费类电子产品的软 件开发。比如:呼机、智能卡、手机、PDA、机顶盒 简单讲就是: J2SE: java 2 Standard edition (java 2 标准版) J2EE: java 2 enterprise edition( Java 2 企业版) J2ME: java 2 micro edition (Java 2 微缩版) 他们的范围是:J2SE 包含于 J2EE 中,J2ME 包含了 J2SE 的核心类,但新添加了一些专有类 应用场合,API 的覆盖范围各 不相同。 笼统的讲,可以这样理解:J2SE 是基础;压缩一点,再增加 一些 CLDC 等方面的特性就是 J2ME;扩充一点,再增加一些 EJB 等企业应 用方面的特性就是 J2EE。 补充一点 J2EE 更恰当的说,应该是 JAVA2 企业开发的技术规范,不仅仅是比标准版多了一些类。J2EE 又包括许多组 件,如 Jsp, Servlet, JavaBean, EJB, JDBC, JavaMail 等。 J2SE 商业版本,标准版本 (Java2 Standard Edition) 定位在客户端,主要用 于桌面应用软件的编程。 J2SE 包含那些构成 Java 语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程 J2SE 是 J2EE 的 基础,他大量的 JDK 代码库是每个要学习 J2EE 的编程人员必须掌握的。 从 JDK 5.0 开始,不再叫 J2SE,改名为 Java SE 了,因为那个 2 已经失去 了其应该有的意义。 .2 JavaJava BeanBean 的概念的概念 JavaBean 是一种 JAVA 语言写成的可重用组件,用户可以使用 JavaBean 将功能、处理、值、数据库访问和其他任何可以用 java 代码创造的对象进 行打包,并且其他的开发者可以通过内部的 JSP 页面、Servlet、其他 JavaBean、applet 程序或者应用来使用这些对象。用户可以认为 JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。这个对 J2EE 业务逻辑层处理具有相当重要的部分。 .3 swingswing 的概念的概念 Swing 是一个用于开发 Java 应用程序用户界面的开发工具包。它以抽象 窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风 格。Swing 开发人员只用很少的代码就可以利用 Swing 丰富、灵活的功能和 模块化组件来创建优雅的用户界面。 工具包中所有的包都是以 swing 作为 名称,例如 javax.swing,javax.swing.event .5 mysqlmysql 简介简介 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。 在2008年1月16号被 Sun 公司收购。而2009年,SUN 又被 Oracle 收购。 MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中, 第 2 页 共 30 页 而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。 MySQL 的 SQL“结构化查询语言” 。SQL 是用于访问数据库的最常用标准化语 言。MySQL 软件采用了 GPL(GNU 通用公共许可证) 。由于其体积小、速度快、 总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站 总体拥有成本而选择了 MySQL 作为网站数据库。 2.22.2 C/SC/S 结构介绍结构介绍 .1 什么是什么是 c/sc/s 和和 b/sb/s C/S (Client/Server)结构 即客户机和服务器结构。它是将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销,可以充分利用两端硬件环境 的优势。服务器通常采用高性能的 PC、工作站或小型机,并采用大型数据库系统,如 Oracle、Sybase、Informix 或 SQL Server。客户端需要安装专用的客户端软件。 B/S(Browser/Server)结构 即浏览器和服务器结构。它是随着 Internet 技术的 兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,结合浏览器的多种 Script 语言(VBScript、JavaScript)和 ActiveX 技术,通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,极 少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实 现,形成所谓三层3-tier 结构。在这种结构下,客户机上只要安装一个浏览器 (Browser) ,如 Netscape Navigator 或 Internet Explorer,服务器安装 Oracle、Sybase、Informix 或 SQL Server 等数据库。浏览器通过eb Server 同数 据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成 本和工作量,降低了用户的总体成本(TCO) ,是一种全新的软件系统构造技术。随着 Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用 软件的首选体系结构。 .2 c/sc/s 和和 b/sb/s 的区别的区别 Client/Server 是建立在局域网的基础上的,Browser/Server 是建立在广域网的 基础上的。 C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再 通过专门服务器提供连接和数据交换服务。 B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理,有比 C/S 更强的适应范围,一般只要有操作系 统和浏览器就行。 .3 c/sc/s 和和 b/sb/s 的比较的比较 C/S 的优点 : 是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再 提交给服务器。对应的优点就是客户端响应速度快。 缺点主要有以下几个: 采用 Intranet 技术,适用于局域网环境可连接用户数有限,当用户数量增 多时,性能会明显下降客户端都要安装应用程序系统扩展维护复杂、代码可 重用性差、开发费用较低,开发周期较短 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越 普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术, 第 3 页 共 30 页 同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一 台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多 分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软 件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。 对客户端的操作系统一般也会有限制。可能适应于 Win98, 但不能用于 win2000或 Windows XP。或者不适用于微软新的操作系统等等,更不用说 Linux、nix 等。 B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软 件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容 易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。 采用 Internet/Intranet 技术,适用于广域网环境支持更多的客户。可根据 访问量动态配置 WEB 服务器、应用服务器,以保证系统性能。客户端只需标 准的浏览器采用面向对象技术,代码可重用性好, 系统扩展维护简单 开发 费用较高,开发周期较长 3 3 在线题库在线题库系统功能分析系统功能分析 3.13.1 在线题库系统的需求在线题库系统的需求 .1 系统需求描述系统需求描述 本系统由教师根据教学资料录入试题,并对其进行分类。待需要考试时 ,设定好一定的条件,系统就从题库中选取试题自动生成统一格式的考试试 卷。从教师的使用角度出发,本着以简单方便、提高工作效率的原则,系统 应具有以下特点: 确保系统具有良好的系统性能,友好的用户界面。 简单快捷的自动组卷方式。 试卷的保密性要求,只有授权人员才能生成和查阅试卷。 生成的试卷按照规定的模板输出。 较高的处理效率,便于使用和维护。 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期 。 系统尽可能简化使用者的重复工作,提高工作效率。 .2 系统数据流图系统数据流图 第 4 页 共 30 页 管理员 用户 添加,修改,删除,生成 试卷生成 题库管理 试卷管理 查看,修改 管理用户 添加,修改,删除 图 3.1 系统数据流图 3.23.2 在线题库系统的功能在线题库系统的功能 (1)管理员对用户进行管理。 (2)用户可以添加,查询,删除选择题。 (3)用户可以添加,查询,删除填空题。 (4)用户可以添加,查询,删除简答题。 (5)用户可以根据自己的需求选择性生成试卷。 (6)可以修改已经从题库中选择的题型。 (7)可以生成试卷。 (8)用户登录验证功能。 (9)用户注册信息功能。 (10)可以查看生成的试卷。 (11)可以导出试卷。 (12)可以查看所有试题。 (13)管理员登录验证功能。 (14)用户注销功能。 3.33.3 在线题库系统的数据库设计在线题库系统的数据库设计 .1 E-R 图图 id name pwd 第 5 页 共 30 页 图 3.2 用户实体及属性 图 3.3 管理员实体及属性 图 3.4 选择题实体及属性 user id name pwd admin title id typechapter answer degree Option1 Option3 Option4 Option2 choose id chapter Option1 answer type title degree fill 第 6 页 共 30 页 图 3.4 填空题实体及属性 图 3.4 解答题实体及属性 .2 数据库表设计数据库表设计 (1)用户表 user(如表 3.1) 表 3.1 用户表信息 列名中文名称数据类型长度允许空 id顺序号int50Not null name用户名varchar50Not null pwd用户密码varchar50Not null (2)管理员表 admin(如表 3.2) 表 3.2 管理员信息 列名中文名称数据类型长度允许空 id顺序号int50Not null id chapter Option1 answer type title degree sketch 第 7 页 共 30 页 name管理员名Varchar50Not null pwd密码varchar50Not null (3)选择题信息表 choose(如表 3.3) 表 3.3 选择题信息表 列名中文名称数据类型长度允许空 id顺序号int4Not null type类型varchar50Not null title题目varchar50Not null Option1选项一varchar50null Option2选项二varchar50null Option3选项三varchar50null Option4选项四varchar50Not null answer答案varchar50null Degree难度varchar50null chapter章节varchar50null (4)填空题信息表 fill(如表 3.4) 表 3.4 填空题信息表 列名中文名称数据类型长度允许空 id顺序号int4Not null type类型varchar50Not null title题目varchar50Not null Option1描述varchar50null answer答案varchar50null Degree难度varchar50null chapter章节varchar50null (5)简单题信息表 sketch(如表 3.5) 表 3.5 简答题信息表 列名中文名称数据类型长度允许空 id顺序号int4Not null type类型varchar50Not null title题目varchar50Not null Option1描述varchar50null answer答案varchar50null 第 8 页 共 30 页 Degree难度varchar50null chapter章节varchar50null 4 4 在线题库系统的设计与实现在线题库系统的设计与实现 4.14.1 创建登录创建登录界面界面 (1)打开 MyEclipse 工具,新建一个 LoginFrame 类(如图 4.1) 图 4.1 创建登录界面 LoginFrame (2)在已创建好的 LoginFrame 类中,对 Loginframe 里面的按钮进行监 听,如果登录的是管理员,就和管理员表里的数据进行对比,成功的话就可 以登录,否则就显示相应的信息。同理,如果是普通用户登录,就和 user 表里的数据进行对比。 登录界面(如图 4.2) 第 9 页 共 30 页 图 4.2 管理员登录界面 相应代码: publicpublic voidvoid actionPerformed(ActionEvent e) ifif(e.getSource()=jb2) System.exit(0); elseelse String name = jf1.getText().trim(); String password = jf2.getText().trim(); String type = jcb.getSelectedItem().toString().trim(); ifif(name.length()=0) JOptionPane.showMessageDialog(thisthis, “姓名不能为空“); returnreturn; ifif(password.length()=0) JOptionPane.showMessageDialog(thisthis, “密码不能为空“); returnreturn; trytry ifif(type.equals(“普通用户“) userDAO = newnew UserDAO(); User user = userDAO.findStudentByName(name); String pwd = “; ifif(user = nullnull) JOptionPane.showMessageDialog(thisthis, “对不起,没有您 的信息“); returnreturn; pwd = user.getPwd(); ifif(!pwd.equals(password) JOptionPane.showMessageDialog(thisthis, “对不起,密码错 误“); returnreturn; DefineUser.identity =“普通用户“; 第 10 页 共 30 页 thisthis.dispose(); newnew MainInsterface().setVisible(truetrue); elseelse adminDAO = newnew AdminDAO(); Admin admin = adminDAO.findStudentByName(name); String pwd = “; ifif(admin = nullnull) JOptionPane.showMessageDialog(thisthis, “对不起,没有您 的信息“); returnreturn; pwd = admin.getPwd(); ifif(!pwd.equals(password) JOptionPane.showMessageDialog(thisthis, “对不起,密码错 误“); returnreturn; DefineUser.identity =“管理员“; thisthis.dispose(); newnew MainInsterface().setVisible(truetrue); catchcatch (SQLException e1) e1.printStackTrace(); 4.24.2 管理员管理员 (1)打开 MyEclipse 开工具,新建一个 AdminFrame 类(如图 4.3) 第 11 页 共 30 页 图 4.3 创建管理员管理界面 AdminFrame 类 (2)与登录界面一样,管理员的主界面是用于向管理员展示功能的界 面,当管理员通过登录界面的验证以后就跳入这个界面,这个界面上有很多 按钮,分别对应管理员的不同功能。 第 12 页 共 30 页 管理员界面(如图 4.4) 图 4.4 管理员界面 (3)管理员可以管理用户,在这个界面里,管理员可以管理普通用户,对普通用 户进行增删改查 用户管理界面(如图 4.5) 图 4.4 用户管理界面 相关代码: publicpublic voidvoid actionPerformed(ActionEvent e) ifif(e.getSource()= button_1) newnew ChooseAddDialog(thisthis, “增加试题“, truetrue); chooseModel = newnew ChooseModel(); table.setModel(chooseModel); elseelse ifif(e.getSource()= button) String title = textField.getText().trim(); ifif(title.length() sketchs = newnew ArrayList(); trytry conn = DBUtil.getConnection(); ifif(degree.equals(“) prep = conn.prepareStatement(“select * from sketch“); elseelse prep = conn.prepareStatement(“select * from sketch where degree = ? and 1=1“); prep.setString(1, degree); /prep.setString(2, chapter); ResultSet rs = prep.executeQuery(); whilewhile (rs.next() sketch = newnew Sketch(); sketch.setId(rs.getInt(“id“); sketch.setType(rs.getString(“type“); sketch.setTitle(rs.getString(“title“); sketch.setOption(rs.getString(“option1“); sketch.setAnswer(rs.getString(“answer“); sketch.setDegree(rs.getString(“degree“); sketch.setChapter(rs.getString(“chapter“); sketchs.add(sketch); intint arr = getRandom(sketchs.size(),num); forfor (intint i = 0; i fills = newnew ArrayList(); trytry conn = DBUtil.getConnection(); ifif(degree.equals(“) prep = conn.prepareStatement(“select * from fill“); elseelse prep = conn.prepareStatement(“select * from fill where degree = ? and 1=1“); 第 23 页 共 30 页 prep.setString(1, degree); /prep.setString(2, chapter); ResultSet rs = prep.executeQuery(); whilewhile (rs.next() fill = newnew Fill(); fill.setId(rs.getInt(“id“); fill.setType(rs.getString(“type“); fill.setTitle(rs.getString(“title“); fill.setOption(rs.getString(“option1“); fill.setAnswer(rs.getString(“answer“); fill.setDegree(rs.getString(“degree“); fill.setChapter(rs.getString(“chapter“); fills.add(fill); intint arr = getRandom(fills.size(),num); forfor (intint i = 0; i chs = newnew ArrayList(); trytry conn = DBUtil.getConnection(); ifif(degree.equals(“) prep = conn.prepareStatement(“select * from choose“); elseelse prep = conn.prepareStatement(“select * from choose where degree = ? and 1=1“); prep.setString(1, degree); /prep.setString(2, chapter); ResultSet rs = prep.executeQuery(); whilewhile (rs.next() choose = newnew Choose(); choose.setId(rs.getInt(“id“); choose.setType(rs.getString(“type“); choose.setTitle(rs.getString(“title“); choose.setOption1(rs.getString(“option1“); choose.setOption2(rs.getString(“option2“); 第 24 页 共 30 页 choose.setOption3(rs.getString(“option3“); choose.setOption4(rs.getString(“option4“); choose.setAnswer(rs.getString(“answer“); choose.setDegree(rs.getString(“degree“); choose.setChapter(rs.getString(“chapter“); chs.add(choose); intint arr = getRandom(chs.size(),num); forfor (intint i = 0; i myList = newnew LinkedList(); intint n = size - 1; forfor (intint i = 0; i n; i+) myList.add(i + 1); intint arr = newnew intintnum; forfor (intint i = 0; i arr.length; i+) arri = myList.remove(intint) (Math.random() * n); n-; return

温馨提示

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

评论

0/150

提交评论