学生成绩查询系统设计论文内容摘要:
JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。 服务器在页面被客户端请求以后对这些 Java Servlet 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。 Java 是 JSP 的技术基础,而且大型的 Web应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。 JSP 具备了 Java 技术的简单易用,完全的 面向对象 ,具有平台无关性且安全可靠,主要面向 因特网 的所有特点。 第二章 系统的需求分析 9 现在,在互联网中流行着多种动态网页实现技术,例如 ASP、 JSP、 CGI、 PHP等。 对应于这些动态网页技术,也存在有多种多样的 Web 服务器系统,例如Microsoft IIS、 Apache、 Cold Fusion 等。 目前国内 ASP 与 PHP 应用最为广泛,尤其是 ASP。 而 JSP 则在国外非常流行,国外电子商务类的网站许多都采用 JSP。 JSP 的优势如下所述: 1. 将内容的生成和显示进行分离 使用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。 使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信 息或者特定的一瓶酒的价格)。 生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。 如果核心逻辑被封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。 在服务器端, JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问 JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。 这有助于作者保护自己的代码,而又保证任何基于 HTML 的 Web 浏览器的完全可用性。 2. 生成可重用的组件 绝大多数 JSP 页面依赖于可重用的,跨平台的组件( JavaBeans 或者Enterprise JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。 开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。 基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3. 采用标识简化页面开发 Web 页面开发人员不会都是熟悉脚本语言的编程人员。 JavaServer Page 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。 标准的 JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。 10 基于 EXCEL 数据源的成绩查询系统 通过开发定制化标识库, JSP 技术是可以扩展的。 今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。 这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 4.将内容的生成和显示进行分离 与 SERVLETS 相比, JSP 能提供所有 SERVLETS 功能,但它比用 println 书写和修改 HTML更方便。 此外,你可以更明确的进行分工, WEB页面设计人员编写 HTML,只需要留出地方让 SERVLETS 程序员插入动态部分即可。 5.由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP页面都被编译成为 Java Servlet, JSP 页面就具有 Java 技术的所有好处,包括健壮的存储管理和安全性。 6.作为 Java 平台的一部分, JSP 拥有 Java 编程语言“一次编写,各处运行”的特点。 随着越来 越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。 系统开发工具与运行环境 开发工具的选择 在开发工具上,我选择地是 Eclipse 和 Tomcat, Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。 实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 第二章 系统的需求分析 11 面向对象的开发过程 1. Java 在虚拟机上运行 Java 源代码并不是被编译成为普通的机器代码。 而是被翻译成为虚拟机可以执行的代码。 一个 Java 解释器最终执行这些代码。 这其中没有连接的过程;解释在需要的时候动态的加载一些类; 2. Java 是完全面向对象的 Java 是一种完全面向对象的语言。 这意味着你对任何一个 Java 对象所做的动作都是通过一个方法实现的。 第一点就是,再也没有没有主函数这样的孤立的东西了。 取而代之的是,你必须开始用一个对象的看法看待一个程序,一个类的对象。 但是这个对象又什么对象呢。 大多数 Java 程序只是简单的通过继承 Java基础类 Object 来实现所需要的东西,但是你可以通过创建程序基 础类用于多个特性相似的应用程序来节省时间。 严格的面向对象的规定意味着理用原有的 C/C++代码不可以直接不加改动的使用;系统调用也是这样的。 C++中,你可以通过在 C++正常的命名空间外声明externC来使用原有的 C 的过程调用,包括系统调用。 在 Java 中,只有一个类似的安全回溯的方法,但是并不是十分简单的方法。 你必须定义一个本地方法,其目的是为 C 语言提供接口,然后提供连接的介质。 Java 环境提供了完成这种任务的工具,但是整个过程和 C++中提供的 extern 比微不足道,完成使用 C++类的过程则更加复杂, 因为这样会引入对 C 的借口和 C 函数和 C++成员函数的问题。 幸运的是,许多常用的系统实用工具函数已经在系统类中的方法中提供出来,但是这些明显没有包含经过许多年来你所创建的那些类和过程。 所以,在你需要的时候你应该去钻研一下。 3. Java 中没有独立的头文件 在 Java 中,关于类的一切东西都被放到一个单独的文件中。 方法的位置只可能在一个地方出现,一个方法的实现必须在它的定义过程中同时进行。 这样做得优点是在实现程序的时候不容易因为文件的非同步错误而失败,或者获取到一个没有实现的声明。 类的声明可以被 Java 解释器利用 甚至是从一个编译过的单元中获取,所以不再需要有头文件,只要有编译过的文件。 12 基于 EXCEL 数据源的成绩查询系统 这样做的缺点与我们编程的过程有关。 许多 C++程序员喜欢用头文件来代替文档。 要看一个成员函数的接口参数,只需要看头文件中的声明即可。 你可以经常的看头文件即可了解怎样去使用这个类。 在 Java 中,没有这样的总结。 因为实现类方法的代码必须在方法定义的时候出现,而且,对于一个单独的函数的代码来说就经常占据了一整页乃至更多。 这样,很难通过看 Java 的代码就初步了解类是怎样使用的。 你必须为你需要的类准备足够多的文档。 不言而喻,再处理非商业类库的时 候文档是极度缺乏的。 在当先的 Java 环境中提供了两个工具来补偿这些, javap 来打印类标识,javadoc 为嵌入式程序提供 HTML 文档。 4.用 Package 来分解 Java 命名空间 在大的 C++工程中经常遇到的一个问题是命名空间 怎样保证工程的一些程序员不会创建和另一些程序员一样名字的类。 更糟糕的是,供应商可能会提供一个包含和你的类一样名字的类的库。 有许多方法可以解决这一问题,但是很可能在问题发现之前工程已经启动,改正错误是需要付出许多痛苦的。 Java 通过 Package这个概念解决了这个问题, Package 有效地通过通过集合类划分了命名空间。 在不同包内的两个同名的类仍然是不同的。 关键问题就变成了类是否放置到相应的包中。 记住, Java 并没有解决命名冲突的问题。 扩展一个基类而引起了派生类的冲突。 比如说,如果你最喜欢的供应商提供了一些类,然后你把它们用做基类并且派生有一个 foo 方法的类,当供应商提供一个新版本的类的时候就可能出现,如果供应商业也在新类中提供了一个 foo 的方法。 5.异常是 Java 的重要特性 在 C++中,异常和异常处理是十分深奥的事情;许多 C++程序员从没有处理过它们甚至不知道它们是何物。 异常是在正常的过程中出现的未预料的错误,因此,它们不会从方法中返回,或者作为参数传入;但是,它们不能被忽略。 这里的一个例子是计算一个书的方根的方法。 正常的接口形式是将一个正数作为参数传入方法,然后方法会返回一个正实数作为结果,方法可以检验这些并且在异常产生 第二章 系统的需求分析 13 的时候抛出异常。 在大多数系统中,程序员并不是必须这样做,这样,一个没有考虑到的异常可以使程序不正常的退出。 在 Java 中,异常已经成为语言中非常成熟的部分。 方法的说明中就包含了异常的信息,程序处理器也强制检验如果你使用了一个能够产生异常的方法,你就必须检查 异常是否发生。 几乎所有的 Java 程序员都会遇到异常的情况,因为许多非常有用的库中的类都会抛出异常。 处理异常并不难,但是在一些时候是需要注意的。 一个方法的文档会指明方法抛出的异常的类型。 如果你忘了,不要紧,编译器会提醒你的。 6.字符串不再是字符数组 Java 中包括了一个字符串的对象,并且是个常量。 字符串不像字符数组一样,虽然可以简单的从一个字符数组构造一个字符串。 你应该尽可能的用字符串代替字符数组,因为他们不会因为误操作而被覆盖。 7. Java 限制了常量对象和方法 在 C++中,你可以正式的声明一个函数参数或 者函数返回值为 const 类型,这样可以有效的防止对参数或者返回值的不正当修改。 另外,你可以声明一个成员函数为 const,表明它不可以修改任何他操作的对象。 Java 支持常量操作符,只读变量,这些通过 final 关键字实现。 但是 Java没有支持强制的使一个可写变量在函数传递、返回的过程中变为只读。 或者定义一个不操作修改对象的常量方法。 在 Java 中,这个省略带来的影响和在 C++中相比就非常小了,这很大程度上因为字符串变量和字符数组的不同,但是这也带来一个引起错误的隐患。 特别地,没有办法检验一个方法是否可以改动对 象。 8. Java 没有指针 理解指针的概念是一个 C 或 C++程序员最难应付的问题。 指针也是错误产生的一大根源。 Java 中没有指针,对象的句柄直接作为参数传递,而不是传递指针。 另外,你必须通过索引使用数组。 这些都不是什么大问题。 然而,没有指针是在写含有函数指针或者成员函数指针的系统的时候引起很大麻烦。 这个问题在处理回调函数的时候更加显著。 14 基于 EXCEL 数据源的成绩查询系统 9. Java 没有参数化类型 参数化类型提供了用一段程序处理许多相似程序的方法。 一个例子就是开平方根的方法,它可以对 int 或者 float 操作。 在 C++中,这一特性是由模板提供的。 Java 中不包含 C++中的模板的等价物。 如果你经常使用模板来简化程序,比如说构造许多使用相似参数类型的函数,这简直就是灾难。 这意味着更多使用复制、粘贴的过程来手动的完成。 然而,如果你使用模板来生成类的话,没有简单的方法。 10. Java 使用垃圾回收 在垃圾回收的语言中,运行时环境一直监测哪些内存不被使用。 当一块内存不用的时候,系统自动的回收内存。 比如说,一个对象在一个方法中生成,但是没有被调用着返回或者没有储存为全局变量,不能在方法外部使用。 系统自己会知道哪些变量是你用不到的,哪些是可以用到的。 因此,你 不必再为破坏对象回收内存而担心。 在 C++中,很多的调试时间都被使用到检查内存漏洞中。 Java 的这种方法很大程度上降低了这种错误的可能。 但是他依然不能处理逻辑混乱的程序,他们不能够被回收。 许多 C++的类中的析构函数是用来释放对象引用的内存的。 Java 使垃圾回收的事实说明在 Java 中不是必需写析构函数了。 但是并不意味着你可以忘记为你的类写析构函数。 比如,一个对象打开了网络连接就必须被恰当的清理来关闭这个连接。 在 Java 中,析构函数被称作 finalization方法。 11. Java 不支持多重继承 在任何一个 复杂的面向对象的系统中,实现一个有更多方法的新类是十分经常遇到的事情。 比如说,一个 Manager 类,需要被作为一个连表的表头,但是一个 Manager 又必须是一个 Empl。学生成绩查询系统设计论文
相关推荐
各设置 8台水冷柜机和 8台整体式除湿机,对库房的热湿空气进行处理。 办公区、更衣室采用 VRV分体机 +带热回收的新风系统,无菌室 及实验室采用 VRV分体机,捆包间采用 AHU+新风系统。 仓库区恒温库空调送风系统采用布袋风管(纤维织物送风系统),该系统具有送风均匀、扩散性良好、施工便捷、易于维护保养、重量极轻等优势,十分适合本高大空间单冷空调系统。 气流组织为上送侧下回。 空调水
,直接委托 上海思纳景观规划设计有限公司开展设计。 3. “ 重要材料 ” 中的“ 旋转门、自动门 ” 价值较小,为体现建筑风格、尊重建设单位意图,拟采用邀请招标。 4. “ 林相改选 ” 工程的技术性高,实施过程 时间紧 且建设开发单位对这方面有着深刻的认识和经验,拟采用邀请招标。 (二) 招标初步计划 根据对 东方花博园 项目招标事项的分析研究
8 附件 3: 安徽师范大学大型群体活动审批表 活动名称 安徽师范大学校内跳蚤市场 活动内容 为同学提供 交易的平台, 同 学们 自由交易二手物品 活动地点 赭山校区 荷花塘 参加人数 约 1500 人 参加活动 校外单位 无 人数 无 赞助单位 待定 活动时间 11 月 5 日(周 六 )下午 9: 00— 13: 00 主办单位 意见 负责人: 盖 章: 年 月 日 院处主管 意见 负责人:
= 抺灰层 [( ) ]/ N/m2= 水刷石外墙面 [( ) ]/ N/m2= 合计 B、 G轴墙体自重 10 墙自重 18kN/m3= 抺灰层 N/m22= 合计C、 F轴墙体自重 标准层:(走廊栏杆做法:墙高 1000mm, 100mm 的砼压顶) 墙自重 18kN/m3+25 N/m= 水刷石外墙面 抺灰层 N/m2= 合计 底层:(内廊)
境极度恶化地区的牧民搬迁到城镇周围从事 集约化奶牛养殖,并把发展奶牛养殖业作为调整产业结构的导向,发展奶牛饲养,形成奶源基地。 目前,*****奶牛存栏逐年 稳定增加,到 2020 年年末,全旗存栏奶牛 ,其中生产奶牛 ,奶牛养殖小区 9个,规模化专业村 24个,奶牛养殖超百头的村社 22个,全旗已运营奶站 67 个,日产鲜奶 165 吨。 养殖效益明显提高,奶牛养殖业已成为 *****调整