基于JSP的班级信息发布系统.doc

上传人:h**** 文档编号:130143 上传时间:2018-07-09 格式:DOC 页数:63 大小:550.50KB
下载 相关 举报
基于JSP的班级信息发布系统.doc_第1页
第1页 / 共63页
基于JSP的班级信息发布系统.doc_第2页
第2页 / 共63页
基于JSP的班级信息发布系统.doc_第3页
第3页 / 共63页
基于JSP的班级信息发布系统.doc_第4页
第4页 / 共63页
基于JSP的班级信息发布系统.doc_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、 基于 JSP 的班级信息发布系统 摘要 : 本 系统采用 JDK1.5.0_01作为开发环境, SQLserver 2000作为数据库服务器, Tomcat 5.0作为测试服务器。 系统 实现了 用户注册、用户登录以及 对 信息类别分类、信息 的发布 、修改、 删除 等功能。 实现过程中采用了 JavaBean来封装 对数据库的复杂逻辑操作。 关键字 : 班级信息发布系统 , Java, JSP, Ajax, SQLServer2000, JDBC Class Information Release System Based on JSP LiHongwei (College of Math

2、ematics and Information Science,Northwest Normal University, Lanzhou, Gansu,730070) Abstract: Key words : Class information release system, Java, JSP , Ajax ,SQLServer2000, JDBC 1. JSP 技术简介 JSP( Java Server Page)是由 Sun Microsystems 公司倡导,许多 公司参与建立的一种动态网页技术标准。在传统的网页 HTML 文件 (*.htm, *.html)中加入Java 程序片段

3、和 JSP 标记,就构成了 JSP 网页( *.jsp)。 Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库 、重新定向网页以及发送 E-mail 等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是结果,对客户浏览器的要求最低。 在 Java 的基础上开发出的 JSP 实现了动态页面与静态页面的分离,脱离 了硬件平台的束缚以及编译后运行等方式,大大提高了其执行效率而逐渐成为Internet 上的主流开发工具。 1.1 为什么使用 JSP 首先, Java 编程语言具

4、有“一次编译,到处运行”的特性。 JSP 页面是彻底与平台无关的,不论是它的动态 Web 页面和其隐含的服务器端组件。用户可以在任意一个平台上编写动态 Web 页面,然后在任何一个支持 JSP 的 Web 服务器上运行,通过任何一个 Web 浏览器来访问。 其次, JSP 技术鼓励使用可重用、跨平台的服务器端组件 JsvaBean。 在使用Java 编程语言的功能和灵活的同时,减少了开发的 时间。由于组件将包含主要的业务处理工作,组件的开发与 Web 设计可明确分隔开,提高了跨功能团队开发的效率。 最后, JSP 页面时 Java 企业级平台( J2EE)的有机组成部分,它把 Java 技术带

5、入到企业级运算环境中。可以用支持 JSP 技术的 Web 服务器作为前端,然后开发强大的企业级或中间层服务器端应用。当需要更新应用时,可只更新驻留在服务器上的组件和动态 Web 页面,所有的客户端将得到更新。 1.2 JSP 的技术模型 在现实的运行过程中,有两种调用 JSP 的技术模型: 模型 1,用户通过浏览器发出一个被送到某个 JSP 页面 的请求 后, JSP 页面中编译出的 Servlet 从一个 JavaBean 中请求信息。该 JavaBean 可以从一个Enterprise JavaBean、数据库或其他后端系统中请求信息。一旦 JavaBean 获取需要的信息后, JSP S

6、ervlet 可以查询并以 HTML 形式在用户影响中显示该信息。 模型 2,代表另一种使用 JSP 页面的方法。在此例中,客户发出一个由 Java Servlet 处理的请求。此 Servlet 如同模型 1 中的 JSP 页面,将从 JavaBean 或者 Enterprise JavaBean 中请求信息。生成的动 态内容将被封装在一个 JavaBean中。 Servlet 然后调用 JSP Servlet,由 JSP 从前面生成的 JavaBean 中获取动态内容并发送到客户端的 Web 浏览器上。 1.3 JSP 与其他开发工具的比较 目前,最常用的 3 种动态网页语言是 PHP(

7、Hypertext Preprocessor)、 ASP( Active Server Page)、 JSP( Java Server Page)。 PHP 可在 Windows、 UNIX、 Linux 的 Web 服务器上正常执行,支持 IIS、 Apache等一般 的 Web 服务器,用户更 换平台时,无需变换代码。 微软推出的 ASP 以强大的功能,简单易学的特点而受到广大 Web 开发人员的喜爱。但是它只能在 Windows 平台下使用, UNIX 下也有 ChiliSoft 的组件来支持 ASP,但是 ASP 本身的功能有限,必须通过 ASP 与 COM 的群组合来扩充。 UNIX

8、下的 COM 实现起来非常困难。 目前国内有不少网站采用了 PHP,但是由于 PHP 本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。 ASP 和 JSP则没有以上缺陷, ASP 可以通过 Windows 的 COM/DCOM 获得 ActiveX 规模支持,通过 DCOM 和 Transaction Server 获得结构支持; JSP 可以通过 Sun Java 的 Java Class和 EJB获得规模支持,通过 EJB/CORBA以及众多厂商的 Application Server获得结构支持。 在数据库访问方面, ASP 使用 ADO 连接数据库,

9、而 Java 通过 JDBC 的技术连接数据库。目标数据库需要一个 JDBC 驱动程序,使得 Java 可以用标准的方式访问数据库。 JDBC 不使用服务器端的数据源。只要有 JDBC 驱动程序, Java 就可以访问数据库了。如果一个特定的数据库没有 JDBC 驱动程序 ,而只有 ODBC 驱动程序, Java 提供一个 JDBC-ODBC 桥来将 JDBC 调用转化为 ODBC 调用。所有的 Java编译器都带有一个免费的 JDBC-ODBC 桥。 PHP 可以编译成具有与许多数据库相连结的函数。 PHP 与 MySQL 组合非常完美,程序员可以自己编写外围的函数去间接存取数据库。 PHP

10、LIB 就是最常用的、可以提供一般事务需要的一系列基库。但 PHP 提供的数据库结构支持不统一,比如对 Oracle、 MySQL、 Sybase 的接口都不一样。 JSP 与 ASP 虽然都在结构上类似,但是 JSP 和 ASP 技术 也有明显的不同点,即开发人员对两者各自软件体系设计的了解方式不同。 JSP 技术基于平台和服务器的互相独立,输入支持来自广泛的、专门的各种工具包,服务器的组件和数据库产品由开发商所提供。相比之下, ASP 技术主要依赖微软的技术支持。 性能方面,有人曾做过试验来比较 JSP、 ASP 和 PHP 的性能。 实验对这 3种语言分别做循环性能测试及存取 Oracl

11、e 数据库测试, 在循环性能测试中, JSP只用了令人吃惊的 4秒钟就结束了 2000020000 循环; 而 ASP、 PHP 测试的是20002000,却分别用了 63 秒和 84 秒; 在数据库测试中,三者分别对 Oracle 8进行 1000 此 Insert、 Update、 Select 和 Delete: JSP 需要 13秒; PHP 需要 69秒、 ASP 则需要 73 秒 1。 1.4 JavaBean 简介 JavaBean 技术不但实现了表现层和商务逻辑层的分离,而且提供了 JSP 的效率和代码重用的程度,是 JSP 编程中常用的技术。 在大型商业软件系统的开发过程中,

12、一直存在一个很现实的问题:如何最大限度地保护和利用在软件设计方面的投资 、最大程度地重复使用已经通过测试的软件功能模块、并将其应用到其他新的软件系统中去。随着软件产业的发展,国际上的一批软件公司和制造 商投入了大量的人力物力,希望开发出建立可复用软件模型的最佳方法。复用软件的一个较理想的目标就是在无须重新编译原有的软件功能模块的情况下就可以实现对其功能的调用。 由于 Java 语言先天的跨平台性,由 Java 语言开发的软件系统可以不做修改就能够自如地运行在不同的操作系统上。这就为解决可复用软件最佳模型问题打下了一个良好的基础,因为对可复用软件的需求当然是希望它能够跨平台、跨操作系统。 Jav

13、aBean 软件设计技术是基于 Java 语言基础上的软件组件结构技术。通用型的 JavaBean 软件设计技术(相对于 EJB),通常被称为 Bean。同 ASP 通常与COM 相结合一样, JSP 通常使用 JavaBean。 JavaBean 只能用 Java 语言开发, COM可以由符合标准对象模型的任何语言开发。相比之下, JavaBean 更容易开发,因为一旦掌握了 Java,了解 JavaBean 的结构非常容易。由于 COM 的复杂性, 需要大量地 学习和培训才能 掌握。 JavaBean 组件结构和其他组件结构相比有一个显著优势,那就是 JavaBean编写非常便利,能被绝大

14、部分程序设计和开发人员掌握和理解。这是因为 Java和 Java 虚拟机( JVM)已经将 JavaBean 组件设计规范封装在一些 Java 的对象里,而程序设计和开发人员只需要了解和熟悉一些简单的 JavaBean 设计原则,就可以轻松地通过创建相关的 JavaBean 组件。 JavaBean 组件对象除了少量的一些特殊对象规则之外,几乎和其他的 Java对象完全类似。这些 JavaBean 组件对象的特殊对象规则主要包括以下 5 点。 ( 1) Bean 必须支持四有数据字段 Properties。 Properties 只能通过存取方法访问。 ( 2) Bean 必须支持事件 eve

15、nts。发送内部属性变化通知其他 Bean、应用程序或者脚本语言。 ( 3) Bean 必须支持 introspection,或者一个 Bean 外部的对象能力,能分析 Bean 是如何工作的。 ( 4) Bean 必须支持 customization,可以通过扩展外部对象来对 Bean 界面和行为做用户化的特殊定制。 ( 5) Bean 必须支持 persistence,即保留 Bean 的属性直到这些属性被用户化定制做改变。 有了 JavaBean 技术, Java 程序员可以通过编写 JavaBean 组件来封装系统的商务逻辑,也就是通过使用 JavaBean,将程式逻辑转移到 Java

16、Bean 中完成,而不用再 JSP 网页中直接编写程式逻辑。网页开发人员则通过使用 HTML 标记等指令对 Bean 的内容进行设置和读取,这样就完成内容的生成与现实的分别封装。 2. 系统分析 2.1 系统功能分析 ( 1)用户注册:注册新用户,填写用户的基本信息。 ( 2)用户登录:用户 登录后可对系统信息进行发布、修改及删除等操作。 ( 3) 添加 信息:用户登录后可在系统上 添加 信息。 ( 4)修改信息:用户 可随时更改自己 添加 的信息。 ( 5)删除信息: 用户可以随时删除自己添加的信息。 ( 6)查询信息:用户可以查询自己想要的信息。 ( 7)浏览及查询通讯录:用户登录后可以查

17、看已注册同学的相关信息。 ( 8)修改用户资料:用户登录后可以自行修改自己的资料。 ( 9)修改用户密码:用户登录后可以自行修改自己的用户密码。 图 -1 系统业务逻辑 2.2 系统功能设计 图 -2 系统框架图 2.3 系统结构 注册 登录 修改资料 修改密码 浏览信息 添加信息 删除信息 修改信息 通讯录 班级信息发布系统首页 系统 用户管理 用户资料 信息管理 存在无效信息 有效 验证是否有效 密码验证正确 输入用户基本信息 进入系统主页 用户注册 输入用户名、密码、验证码 用户登录 密码错或验证码错 根据系统功能的设计,给出 班级信息发布 系统的具体系统结构,如图 -3。 ( 1) 用

18、户注册功能由 rigister.jsp 页面和 adduser.jsp 页面来完成。 ( 2)用户登录功能由 index.jsp 和 checklogin.jsp 页面来完成。 ( 3) 修改资料功能由 modifyuser.jsp 页面完成。 ( 4)通讯录功能由 tongxl.jsp 页面完成。 ( 5)修改密码功能由 modifypsd.jsp 页面完成。 ( 6)浏览信息功能由 newsdetail1.jsp 页面完成。 ( 7)添加信息功能由 newsadd.jsp 页面 完成。 ( 8)修改信息功能由 newsmodify.jsp 页面完成。 ( 9)删除信息功能由 javascr

19、ipt 脚本程序 完成。 图 -3 系统结构图 2.4 数据库分析 根据系统分析,实现系统的数据库 由以下 3张表组成。 ( 1)用户信息表。保存用户信息,包括用户 ID、用户名、密码、 E-mail、用户真实姓名、家庭住址、公司地址、固定电话、移动电话、 QQ 等信息,如表1-1 所示。 rigister.jsp adduser.jsp index.jsp checklogin.jsp tongxl.jsp modifyuser.jsp modifypsd.jsp 注册 班级信息发布系统 用户管理 用户资料 登录 修改资料 修改密码 浏览信息 添加信息 删除信息 修改信息 通讯录 信息管理

20、newsdetail1.jsp newsadd.jsp newsmodify.jsp 表 1-1 用户信息表( UserInfo) 字 段 说 明 类 型 备 注 ID 用户 ID Int 4 主键 username 用户名 Varchar 20 不可为空 password 用户密码 Varchar 20 不可为空 Email E-mail Varchar 45 不可为空 name 用户真实姓名 Varchar 20 可为空 address 家庭住址 Varchar 50 可为空 complan 公司地址 Varchar 50 可为空 tel 固定电话 Varchar 20 可为空 shouj

21、i 移动电话 Varchar 20 可为空 QQ 用户 QQ 号 Varchar 20 可为空 ( 2)信息表。保存信息,包括信息 ID、用户名、 信息标题、信息内容、发布时间、信息类型标志、来源等信息 ,如表 1-2所示。 表 1-2 信息表( newsinfo) 字 段 说 明 类 型 备 注 newsid 信息 ID Int 4 主键,自增量 username 用户名 Varchar 20 外键 title 信息标题 Varchar 50 不可为空 content 信息内容 Ntext 16 不可为空 uptime 发布时间 Datetime 8 不可为空 newstypeid 信息 类

22、型标志 Int 4 外键 copyfrom 来源 Varchar 50 作者,信息来源等 ( 3)信息类型表。存储信息类型,包括类型 ID、类型名称、类型描述等信息,如表 1-3所示。 表 1-3 信息类型表( typeinfo) 字 段 说 明 类 型 备 注 newstypeid 类型 ID Int 4 主键 newstype 类型名称 Varchar 20 不可为空 description 描述 Varchar 100 信息分类的描述信息 图 -4 班级信息发布系统数据库关系图 2.5 系统实现 2.5.1 登录模块实现 1.系统 登录页 用户在进入系统前必须登录 。注册用户在登录页提交

23、用户名、密码和验证码,登录页会自动将这些信息提交给本页, 并把用户名和密码保存在 session 中,然后 对验证码的输入进行验证;如果 正确页面将通过 response 对象的sendRedirect()方法跳转到 checklogin.jsp 页面验证用户名和密码。 如果验证码错误则返回到用户登录页 index.jsp。登录 页部分代码如代码 -1所示。 2.登录验证页 用户提交用户名、密码和验证码后,登录模块转到登录验证页,验证用户输入的用户名和密码是否正确。如果用户输入的用户名和密码不正确,系统将 通过response 对象的 setHeader()方法 转到 Graduation/i

24、ndex.jsp 要求用户重新输UserInfo newsinfo typeinfo 入,如果用户输入的信息是正确的,那么系统将跳转到 Graduation/ admin/index.jsp。 3.验证图生成页 用户登录到 index.jsp 页面后, index.jsp 将自动调用 image.jsp 请求生成一个验证码的图片。 2.5.2 注册模块实现 1.系统 注册页 用户登录到 index.jsp页面,单击“注册”链接,进入注册模块 register.jsp。使用用户通过注册页面向系统提交用户信息的方式进行身份注册,通过此窗口用户输入用户名和密码以及 email 等相关信息,只有当输入

25、格式符合要求且数据库中无该用户名才能进行正确的注册。在 register.jsp 文件的开始部分 是几个JavaScript 函数, createXMLHttpRequest() 函 数 为 多 种 浏 览 器 创 建XmlHttpRequest 对象。函数 checkName()通过有参数请求来检查用户要注册的用户名是否 已经存在。如果存在,则提示用户名不可用;如果不存在,则提示可用。此函数将在用户输入焦点离开【用户名】文本框时被驱动。函数 chekcPass1()的主要功能是检查密码的长度是否合法,根据检查的结果给用户以相应的提示,此函数将在用户输入焦点离开第一次的【密码】文本框时被驱动。

26、 函数chekcPass2()的主要功能是检查两次输入的密码是否一致,根据检查的结果给用户以相应的提示,此函数将在用户输入焦点离开【密码确认】文本框时被驱动。函数 checkEmail()的主要功能是检查输入的 E-mail 格式是否正确,根据检查 的结果给用户以相应的提示,此函数将在用户输入焦点离开【 E-mail】文本框时被驱动。函数 check()的主要功能是检查用户输入的用户名、密码和 email 是否为空,此函数将在用户点击提交按钮时被驱动。 2.注册程序 用户提交用户名、密码等信息以后,首先通过 JavaScript 进行格式校验,校验成功则调用注册程序 adduser.jsp 进行注册。该程序首先查询在 UserInfo表中是否已经有该用户名,如果已经有,系统将通过 response对象的 setHeader()方法转到 register.jsp;否则,将执行插 入操作,将用户提交的数据信息插入到 UserInfo 表中,并通过 response 对象的 sendRedirect()方法跳转到 admin/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。