毕业设计(论文)-基于JSP技术的CMM评级系统的开发.doc_第1页
毕业设计(论文)-基于JSP技术的CMM评级系统的开发.doc_第2页
毕业设计(论文)-基于JSP技术的CMM评级系统的开发.doc_第3页
毕业设计(论文)-基于JSP技术的CMM评级系统的开发.doc_第4页
毕业设计(论文)-基于JSP技术的CMM评级系统的开发.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

基于 JSP 技术的 CMM 评级系统的开发 目录目录 目 录 I 摘 要 ABSTRACT 前 言 1 系统开发工具及技术简介 1 1 1 开发工具简介 1 1 1 1 JAVA 语言简介 1 1 1 2 ECLIPSE 开发工具 2 1 2 开发技术简介 2 1 2 1 J2EE 简介 3 1 2 2 SERVLET 简介 3 1 2 3 JSP 简介 5 1 2 4 MVC 框架 6 1 2 5 应用服务器简介 6 2 系统分析和总体设计 7 2 1 系统概述 7 2 2 需求分析 7 2 2 1 任务概述 7 2 2 2 功能概述 7 2 3 系统分析 8 2 4 总体设计 8 2 4 1 功能模块设计 8 2 4 2 运行过程设计 9 2 4 3 系统流程图 10 2 4 4 数据库设计 11 3 系统设计 13 3 1 数据库表设计 13 3 2 系统功能模块的代码实现 14 3 2 1 数据库连接模块 14 3 2 2 用户登录模块 17 3 2 3 管理员模块 18 3 2 4 客户功能模块 20 4 运行与测试 26 4 1 软件测试的目的与原则 26 4 2 软件的运行 27 4 2 1 应用程序的搭建与部署 28 4 2 2 系统运行过程 28 结论 30 参考文献 31 致谢 32 摘摘 要要 本论文描述了基于 JSP 技术进行 CMM 评级系统设计与实现的过程 该系统设计与实现了通过面向对象的编程技术 采用 MVC 三层架构模式 采用 Jsp Servlet Jdbc 等技术 基于 TOMCAT6 0 MyEclipse7 0 软件开发平台进行设 计实现 该系统基本上实现了用户对自身软件开发条件的测评 管理员对所有信息的增删改查 等功能 该系统各功能模块相互独立 同时又构成一个整体 具有跨平台性 功能比较完备 关键词关键词 CMM MVC 模式 Servlet Jdbc ABSTRACT This paper describes the design and implementation process of CMM ratings system based on JSP technology The system is designed and implemented by object oriented programming techniques using three tier MVC using Jsp Servlet Jdbc and so on technology based on TOMCAT6 0 MyEclipse7 0 software development platform designed to achieve The system is basically useful that enables users to develop their own evaluation criteria the administrator can manipulate all information adding deletting changing checking The functional modules of the system are independent of each other at the same time for a whole with cross platform functionality Key words CMM MVCmodule Servlet Jdbc 前 言 近年来 随着计算机走进千家万户以及 Internet 的发展 信 息化建设在我国经济建设 国防建设和社会生活中的地位和作用越 来越显著 信息化已是国家产业发展的重点 而计算机软件作为信 息系统的核心 也随着受到高度 的重视 在软件发展道路上 人才和技术是两个应给予重视的因素 但 我们不可忽视管理的问题 从总体上来看 我过的软件产业在管理 上是比较薄弱的 缺乏对 CMM 的深入了解 可供参考的实施方案 过程改进和评估标准的融合框架等 传统的 CMM 评级系统是通过人 力来手动的测评 这不仅消耗了大量的时日 人员 物力与财力 而且还有可能造成评级过程的主观性和不公平性 基于上述情况 本系统依据 CMM 与软件工程的融合技术 将 CMM 的 评级网络化 使管理突破了传统和时空限制 提高了管理效率与水 平 使公司 单位 个人在任何时候 任何地点都可以通过本系统 对自己的公司单位进行评级测试 实现对软件开发的管理和调度 加速了软件开发的进程 1 1 软件软件开发开发的工具及技术简介的工具及技术简介 1 1 开发工具简介 1 1 1 JAVA 简介 Java 语言是一种网络计算的面向对象程序设计语言 在 C 的基础上进行了 极在的简化和改进 如支持多线程 网络通信和多媒体数据控制 采用自动内 存分配和回收 而 C 要求程序员去分配和回收等 Java 语言的特点如下 1 简单 Java 与 C 的区别是 C 是面向过程的语言 而 Java 是面向对象的 语言 Java 与 C 语言非常相近 但比 C 简单 在 Java 中取消息了对指针的 操作 抛弃了 C 中的一些不是绝对必要的功能 如头文件 预处理文件 指 针 结构 运算符重载 多重继承以及自动强迫同型 Java 实现了自动的垃圾 收集 简化了内存管理的工作 2 面向对象 Java 是面向对象的语言 将世间万物都看成对象 将对象所 具有的共性抽取出来 就是对象的类 Java 提供了简单的类机制和动态的构架 模型 对象中封装了它的状态变量和方法 很好地实现了模块化和信息隐藏 而类则提供了一类对象的原型 通过继承和重载机制 子类可以使用或重新定 义父类或超类所提供的方法 从而既实现了代码的复用 3 多线程 多线程的实现方式可以通过软件或硬件实现 Java 是语言级别 的多线程 通过 JVM 实现 多线程使应用程序可以同时进行不同的操作 处理 不同的事件 在多线程机制中 不同的线程处理不同的任务 他们之间互不干 涉 不会由于一处等待影响其他部分 这样容易实现网络上的实时交互操作 4 分布式 Java 是面向网络的语言 通过它提供的类库可以处理 TCP IP 协 议 用户可以通过 URL 地址在网络上很方便的访问其他对象 5 跨平台 Java 是通过 JVM 实现其跨平台的 JVM 通过不同的接口与操作 系统交互 上层通过相同的接口与 Java 语言交互 Java 是一种网络语言 为使 Java 程序能在网络的任何地方运行 Java 解释器生成与体系结构无关的字节码 结构的文件格式 Java 语言环境还提供了用于访问底层操作系统功能的类组成 的包 当程序使用这些包时 可以确保它能运行在各种支持 Java 的平台上 6 安全性 用于网络 分布环境下的 Java 必须要防止病毒的入侵 Java 不 支持指针 一切对内存的访问都必须通过对象的实例变量来实现 这样就防止 了程序员使用欺骗手段访问对象的私有成员 同时也避免了指针操作中容易产 生的错误 2 1 1 2 开发工具简介 JDK JDK Java Development Kit 是一个写 Java 的 applet 和应用程序的程 序开发环境 它由一个处于操作系统层之上的运行环境还有开发者编译 调试 和运行用 Java 语言写的 applet 和应用程序所需的工具组成 Java 编译器 Javac 命令 Java 编译器将 Java 源代码文件编译成可执行的 Java 字节码 Java 源代码文 件的扩展名为 java Java 编译器把这种扩展名的文件编译成扩展名为 class 的 文件 源文件中的每个类在编译后都将产生一个 class 文件 这意味一个 Java 源代码文件可能编译生成多个 class 文件 Java 解释器 java 命令 Java 解释器对编译生成的字节码格式的可执行程序的运行提供支持 它是运 行非图形 Java 程序的命令行工具 ECLIPSE 根据需求分析及功能分析 选用 Eclipse 集成开发工具 Eclipse 平台是一个开放的集成开发工具 拥有强大的开发功能 它是建立在插件机制 发现新插件 集成插件和运行插件 之上的 Eclipse 平台可以为开发者提供 将各种工具无缝集成的功能 并为集成软件开发工具的开发 构造和运行提供 基础模块 拥有一整套的公共服务集 Eclipse 软件开发工具箱 简称 SDK 是由 Eclipse 项目的 3 个子项目组合而 成 每个子项目是单一的可下载包 Eclipse 软件开发工具箱为开发者提供了功 能强大的开发环境和各种工具 所有基于 Eclipse 的工具都在其平台上创建 多数人认为 Eclipse 是 Java IDE 不过 当下载 Eclipse 之后 除了有 Java IDE 就是 JDT 还有 PDE 然而 Eclipse 是万用工具平台 JDT 实际上是 Eclipse 的添加品 也就是外挂程序 Eclipse 本身实际上是指 Eclipse 平台 Eclipse Platform 除了下载时能取得 Java 工具集以外 还提供各种工具的支 持 所以平台本身只是相当小的软件 如果想开发 Java 程序 用的是 Eclipse 随附的 JDT 外挂程序 如果想开发其它语言的程序 就需要拿到其它外挂程序 诸如 CDT C Development Toolkit 就可以开发 C C 程序 Eclipse 跨计算机语言 也跨人类的语言 相同的外挂机制可用来增加对不 同语言的支持 这里使用一种特殊的外挂 叫做外挂程序片断 plug in fragment IBM 以捐出一个语言套件 支持中文 繁体与简体 法文 德文 意大利文 日文 韩文 葡萄牙文 巴西 与西班牙文 1 2 开发技术简介 1 2 1J2EE 应用概述 3 J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发 部署和管理相关 的复杂问题的体系结构 J2EE 核心是一组技术规范与指南 其中所包含的各类 组件 服务架构及技术层次 均有共通的标准及规格 让各种依循 J2EE 架构 的不同平台之间 存在良好的兼容性 解决过去企业后端使用的信息产品彼此 之间无法兼容 导致企业内部或外部难以互通的窘境 J2EE 技术的基础就是 核心 Java 平台或 Java 2 平台的标准版 J2EE 不仅巩固了标准版中的许多优点 如编写一次 随处运行的特性 方便存储数据库的 JDBC API 以及能够在 Internet 应用中保护数据的安全模式等等 同时还提供了对 EJB Enterprise JavaBeans Java Servlets API JSP Java Server Pages 以及 XML 技术的全面支 持 其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系 结构 J2EE 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性 高可靠性以及可扩展性的应用的需求 通过提供统一的开发平台 J2EE 降低了 开发多层应用的费用和复杂性 同时提供了对现有应用程序集成强有力的支持 完全支持 Enterprise JavaBeans 有良好的向导支持打包和部署应用 添加目录 支持 增强了安全机制 提高了性能 在 J2EE 开发模型中 整个系统可分为以下三个主要部分 视图 view 视图是用户界面部分 在 web 应用程序中也就是 HTML XML JSP 页面 这 个部分主要处理用户看到的东西即用于显示 动态 JSP 部分处理了用户可看见 的动态网页 而静态的网页由 HTML 和 XML 输出 控制器 Control 控制器负责网站的整个逻辑 它用于管理用户与视图发生的交互 可以将控制 器想像成处在视图和数据之间 对视图如何与模型交互进行管理 通过使视图 完全独立于控制器和模型 就可以轻松替换前端客户程序 即网页制作人员将 可以独立自由地改变 Web 页面而不用担心影响这个基于 Web 的应用程序功能 在 J2EE 模型中 控制器的功能一般是由 Servlet JavaBeans EJB 中的 SessionBean 来充当的 模型 Module 模型就是应用业务逻辑部分 这个部分主要角色 EJB EnterpriseJavaBeans 借助于 EJB 强大的组件技术和企业级的管理控制 开发人员可以轻松的创建出 可重用的业务逻辑模块 1 2 2 Servlet 简介 Servlet 通常称为服务器端小程序 用于处理及响应客户端的请求 是 4 一种运行在支持 Java 语言的服务器上的组件 与普通 Java 类的区别就是它运行 在服务器上 使用 Servlet 可以很轻松地扩展 Java 网络服务器的功能 为网络 客户提供安全可靠的 易于移植的动态网页 它提供不同的方法用于响应客户 端请求 其方法如下 doGet 用于响应客户端的 GET 请求 doPOST 用于响应客户端的 POST 请求 doPUT 用于响应客户端的 PUT 请求 doDelete 用于响应客户端的 DELETE 请求 init 初始化 Servlet 资源 Destroy 销毁 Servlet 实例 自动收回资源 Servlet 容器的作用是负责处理客户请求 当客户请求来到时 Servlet 容器获 取请求 然后调用某个 Servlet 并把 Servlet 的执行结果返回给客户 当客户请 求某个资源时 Servlet 容器使用 ServletRequest 对象把客户的请求信息封装起 来 然后调用 Java Servlet API 中定义的 Servlet 的一些生命周期方法 完成 Servlet 的执行 接着把 Servlet 执行的要返回给客户的结果封装到 ServletResponse 对象中 最后 Servlet 容器把客户的请求发送给客户 完成为客 户的一次服务过程 Servlet 容器的作用如图 1 1 所示 Servlet容器 Web 客户 Servlet 1 Servlet 2 Servlet 3 request response 图 1 1 Servlet 容器的作用 Servlet 的优势在于 高效率 使用线程取代操作系统进程 能够手工的控制线程 比以前单 一的使用操作系统的进程效率高 功能强大 提供数据共享 连接共享 持续存储等诸多功能 强大的功能 性使其具有强大的实用性 可移植性强 几乎可以在所有操作系统 如 Unix Windows 操作系统 所有服务器上 如 Tomcat Weblogic 服务器 运行 花费少 有众多免费或收费低廉的服务器可以选择 降低了使用的成本 安全 不设计外壳程序 也就杜绝了使用转移符的攻击 没有缓冲区溢出 5 的问题 1 2 3 JSP 简介 JSP Java Server Pages 是由 Sun Microsystems 公司倡导 许多公司参与一 起建立的一种动态网页技术标准 JSP 技术是在 Servlet 的基础上发展起来的 现在已成为 Java 编程的重要组成部分 它将和 J2EE Java 2 Enterprist Edition 一起发展 JSP 是结合 markup HTML 或 XML 和 Java 代码来处理的一种动态页面 每 一页第一次被调用时 通过 JSP 引擎自动被编译成 Servlet 然后被执行 以后 每次调用时 执行编译过的 Servlet JSP 提供了多种方式访问 Java class Servlet Applets 和 Web Server 因此 Web 应用的功能可以分成多个明 确定义公用接口的组件 通过 JSP 将它们结合在一起 这种模式允许工作分成两部分 组件开发与页面设计和编译 结合一些方法 调用 在这种应用编译模式 使得业务逻辑和数据处理分开 JSP 在进行企业信息化系统开发时的一些优势 1 一次编写 到处运行 JSP 是以 Java 语言为基础的 它主要运行在操作 系统上的 JVA Java 虚拟机 上 能够运行 JVM 的机器都能运行 JSP 如 Windows 系列 Linux Unix ALX 等 2 在执行上 JSP 只需编译一次为 Servlet 文件 当有相同的客户请求时 JSP 将产生一个该 Servlet 文件的一个线程来响应 而不是再编译一次 这样大 大提高 Web 服务器端的响应速度 3 功能强大的开发工具 目前市场上优秀的 Java 开发工具 JBuildr Eclipse WSAD VJ 等都可以作为 JSP 的开发工具 高效地编写 JSP 代码 4 JSP 能够让 Web 开发人员自由地扩展 JSP 标签来应用 Web 开发人员 还能自定义标签库 并利用 XML 的强大功能 ASP PHP 和 JSP 三种技术中 JSP 是未来发展的趋势 世界上一些在的电 子商务解决方案提供商都采用 JSP Servlet 比较出名的如 IBM 的 E Business 它的核心是采用 JSP Servlet 的 Web Sphere 它们都是通过 CGI 提供支持的 1 2 4 MVC 开发框架 模型 视图 控制器 MVC 是 80 年代 Smalltalk 80 出现的一种软件设计模 式 现在已经被广泛的使用 模型 Model 模型是应用程序的主体部分 模型表示业务数据 或者业务逻辑 6 视图 View 视图是应用程序中用户界面相关的部分 是用户看到并与之交互的界 面 控制器 controller 控制器工作就是根据用户的输入 控制用户界面数据显示和更新 model 象状态 MVC 式的出现不仅实现了功能模块和显示模块的分离 同时它还提高 了应用系统的可维护性 可扩展性 可移植性和组件的可复用性 早期的程序中 如果不注意对数功能和显示的解耦合 常常会导致程 序的复杂及难以维护 很多 VB Delphi 等 RAD 程序都有这种问题 甚至现 在的 C Java 有时候也会出现把业务逻辑写在显示模块中的现象 管 MVC 设计模式很早就提出 但在 Web 项目的开发中引入 MVC 却 是步履维艰 主要原因 一是在早期的 Web 项目的开发中 程序语言和 HTML 的分离一直难以实现 CGI 程序以字符串输出的形式动态地生成 HTML 内容 后来随着脚本语言的出现 前面的方式又被倒了过来 改成 将脚本语言书写的程序嵌入在 HTML 内容中 这两种方式有一个相同的不 足之处即它们总是无法将程序语言和 HTML 分离 二是脚本语言的功能相 对较弱 缺乏支持 MVC 设计模式的一些必要的技术基础 直到基于 J2EE 的 JSP Model 2 问世时才得以改观 它用 JSP 技术实现视图的功能 用 Servlet 技术实现控制器的功能 用 JavaBean 技术实现模型的功能 1 2 5 应用服务器的选择 目前支持 JSP 的应用服务器是较多的 Tomcat 是其中较为流行的一个 Web 服务器 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品 可见 其在业界的地位 7 Tomcat 是一个免费的开源的 Serlvet 容器 在 Tomcat 中 应用程序的部署 很简单 你只需将你的 WAR 放到 Tomcat 的 webapp 目录下 Tomcat 会自动检 测到这个文件 并将其解压 你在浏览器中访问这个应用的 Jsp 时 通常第一 次会很慢 因为 Tomcat 要将 Jsp 转化为 Servlet 文件 然后编译 编译以后 访问将会很快 Tomcat 也具有传统的 Web 服务器的功能 处理 Html 页面 但是与 Apache 相比 它的处理静态 Html 的能力就不如 Apache 我们可以将 Tomcat 和 Apache 集成到一块 让 Apache 处理静态 Html 而 Tomcat 处理 Jsp 和 Servlet Tomcat 是一个很好的工具 不仅仅因为其免费 功能强大 更因为其 开放性 越来越受到人们的重视 2 系统分析和总体规划 2 1 系统概述 本系统就是借助与计算机即使把 CMM 评级过程自动化 创建一种机制 和管理平台 在这个系统中 计算机是支撑性的平台 软件开发条件是是系统 的内容 本系统在企业的有效实施 将会促进企业软件开发进程 以及企业对自身能 力的了解 这将使软甲开发走向规范化 标准化和科学化 促使企业从大量的 研讨与文档测评中解脱出来 逐步专注与对企业软件开发能力的提升 调动企 业各级管理者和每一位普通员工都积极参与到软件开发进程中来 调动一切有 利的因素 最终使软件开发称为世界一流水平 2 2 需求分析 2 2 1 系统任务概述 随着信息时代的到来 基于 WEB 的应用系统开发备受关注 但是目前的 CMM 评级过程大多是通过人员手动的进行测评 对网络功能的支持强度不强 且软件开发者不便即使了解自身的软件开发能力 因此有必要开发出一个基于 网络的 CMM 等级测评系统 能在网络环境下实现 CMM 即时测评 即时反馈 2 2 2 系统功能概述 此系统主要完成客户对自身条件的测评 即通过输入自身所具有的条件 系统可以反馈给客户所达到的 CMM 等级 以及其在软件开发过程中急需改进 的地方 因此所需要的数据信息有 用户信息 包括用户账号和密码等信息 8 CMM 关键过程域的约定 能力 执行活动 测量与验证 管理员信息 包括 管理员账号 管理员密码 管理员对关键过程域的增删改查 管理员与客户相 关信息的操作等 具体功能如下 客户功能 客户通过自己的用户名和密码进入系统 客户可以测评自身的软件能力 即所达到的 CMM 级别 客户可以修改个人信息 测评完成后 客户可以给管理者留言 管理员功能 管理员通过特有的用户和密码进入系统 管理员可以查看客户信息 管理员对 CMM 关键过程域的任何资料可以进行增删改查 管理员还可以对客户的留言进行增删改查 2 3 系统分析 经济可行性 该系统对操作环境要求不大 开发此系统所用软件 Eclipse JDK tomcat 可以到网络上下载 不需要很强的经济支持 就其功能 和给企事业单位带来的方便来说 是完全可行的 操作可行性 目前计算机已经普及到所有的单位及大部分家庭 不仅在企事 业 即使足不出户也能通过网络对单位和人员进行统一管理 管理者只要通过 用户帐号和密码就可以进入系统 进行对单位和人员的管理 因此其操作是完 全可行的 技术可行性 本系统采用 Java 语言 基于 Tomcat 6 0 Eclipse 开发平台 采用 MVC 模式 JSP Jdbc MS sql Servlet 等技术 开发者掌握这些技术就可 以具备开发此系统的能力 另外 此系统对开发环境的要求 都是大部分 Java 程 序员进行软件开发使用的开发环境 所以 技术方面也是可行的 2 4 总体设计 2 4 1 功能模块设计 模块分析是描述系统需求的一个过程 需要将需求分析中的感性描述进行 抽象 提取出要实现的功能 这是整个系统开发的一个关键过程 需求分析的第一步 是描述 CMM 评级系统的功能 以此确定系统的功能 需求 使用 CMM 评级系统的的角色是管理员 客户 管理员对客户资料及系 9 个 人 管 理 软 件 评 级 功 能 客 服 管 理 评 级 条 件 管 理 用 户 管 理 统进行管理 包括对评级条件增加 查看 修改 删除 反馈客户的留言 客 户进入系统享受系统提供的功能 包括了解 CMM 相关知识 进行 CMM 软件 的评级测试 给系统管理者反馈意见 根据以上的用户操作需求 将系统划分如下 2 大功能 并对其模块的划分和 功能进行描述 管理员功能 登录 登录 用户管理 列表 查看 删除 评级条件管理 列表 增加 修改 删除 客服管理 列表 发送 接收 删除 客户功能 登录 登录 软件评级功能 评级 个人管理 个人信息修改 客服管理 此系统基于 MVC 架构模式进行设计 利用 JSP JDBC Servlet 具体实现 通过对所做模块的功能需求分析 该模块主要功能可如下部分 系统结构如图 所示 2 4 2运行过程设计 CMM 评级系统 客户 管理员 10 本项目使用 Java 编写 核心架构为 MVC 模式应用 软件实现的所有功能 都是对事件源对象进行监听 然后根据对象内部的类型标记数据 把对象分配 到相应的事件处理类中进行处理 比如 客户端登录 1 页面接收用户名 用户密码 2 通过 Socket 发送套接字串 H0001 用户名 密码 到服务器端 3 服务器端通过 Socket 接收到套接字字段 根据 H0001 这一字段 把其 他信息分发到 login 类进行相应的验证处理 4 服务器端验证通过后 login 类直接返回给客户端信息 客户ServletView jsp 数据库 HTTP请求 设置Cont r ol J DBC Forward 读 取 Model View JavaBean值 对象 图 2 2 JSP Servlet Jdbc 开发模式的数据传递关系 11 2 4 3系统流程图 2 4 3 数据库设计 数据库设计就是设计程序所需数据的类型 格式 长度和组织方式 因为 数据库应用系统主要是处理大量的数据 所以数据库设计的优劣 直接影响整 个数据库应用系统的性能和执行速率 根据本系统的功能需求分析 本系统的数据库可包括 4 个表 分别是用户 表 user 关键领域表 board 评级条件表 topic 客服表 message E R 图 如图 2 4 所示 开始 进入用户登录界面 填写身份验证信息 身份验证是否通过 进入系统主界面 处理业务 结束 12 图 2 4 E R 图 评级条件 登陆名 用户 登录密码 管理者 设定关键领 域 评级条件 评级条件 进行 个人信息 评级使用 用户功能 客服管理 13 3 3 系统具体设计系统具体设计 3 13 1 数据库表设计数据库表设计 1 目录表目录表 该表包含评级关键领域的主要目录 具体如表 3 1 表 3 1 board 表 字段名类型描述索 引 boardIdint关键过程域编号PK boardNamevarchar关键过程域名称 parentIdint 2 用户表 表 3 2 user 表 字段名类型描述索引 uId int用户编码PK uNamevarchar用户名 uPass varchar用户密码 uphonevarchar用户电话 uemailvarchar用户邮箱 upartmentvarchar用户部门 3 评级条件表 该表包含评级条件的主要信息 具体如表 3 3 14 表 3 3 topic 表 类型描述索引 topicIdint评级条件编 号 PK title varchar评级内容 fen int分数 uIdint用户编号FK boardIdint关键领域编 号 FK publishTimedatetime设置时间 modifyTimedatetime修改时间 4 客户表 该表包含客户反馈信息等信息 具体如表 3 5 kefu 表 字段名类型描述索引 idint留言编号PK note varchar内容 sendUname varchar客服名称 receiveUnamevarchar管理员名称 postTimedatetime发送时间 readSignsmallint处理标记 3 2 系统功能模块的代码实现设计 3 2 1 数据库连接模块 主要实现过程代码 public class BaseDAO public final static String DRIVER com microsoft jdbc sqlserver SQLServerDriver 15 驱动 public final static String URL jdbc microsoft sqlserver localhost 1433 DataBaseName bbs public final static String DBNAME sa 数据用户账号 public final static String DHPASS satwj 数据用户密码 public Connection getConn 获取数据库连接方法 try Class forName DRIVER catch ClassNotFoundException e System out println 注册驱动异常 e printStackTrace Connection conn null try conn DriverManager getConnection URL DBNAME DHPASS catch SQLException e System out println 连接数据库异常 e printStackTrace return conn 关闭资源方法 public void closeAll Connection conn PreparedStatement pstmt ResultSet rs if rs null try rs close catch SQLException e System out println RS关闭发生异常 e printStackTrace if pstmt null try pstmt close 16 catch SQLException e TODO Auto generated catch block System out println pstmt关闭发生异常 e printStackTrace if conn null try conn close catch SQLException e System out println conn关闭发生异常 e printStackTrace public int executeSQL String sql String getValue int result 0 Connection conn null PreparedStatement pstmt null try conn getConn 获取数据库连接方法 pstmt conn prepareStatement sql if getValue null for int i 0 i getValue length i pstmt setString i 1 getValue i result pstmt executeUpdate 执行SQL语句 catch Exception e System out println executeSQL方法异常 e printStackTrace finally closeAll conn pstmt null 17 return result 3 2 2 用户登录模块 事件实现 本页面主要实现接收管理员与客户帐号和密码 并发送到服务 器进行身份验证 返回验证结果后判断是否进入主页面或者进入不同的主界面 界面如图 3 1 所示 图 3 1 用户登陆界面 登陆主要实现过程代码 if action equals login response setContentType text html charset gb2312 request setCharacterEncoding gb2312 String userName request getParameter userName String password request getParameter userPass int userType Integer parseInt request getParameter userType UserDAO userDAO new UserDAOImpl User user userDAO findUser userName if user null 存到session里面 session setAttribute userType userType List list new ArrayList if application getAttribute findUser null list List application getAttribute findUser boolean t true 18 for int i 0 i list size i if userName equals list get i toString t false break if t list add userName 存放用户名到list里面 application setAttribute findUser list out print alert 登陆成功 location replace index jsp else out print alert 登陆失败 location replace lojin jsp 登陆提交后在 JSP 页面上利用 Session 接收到的用户类型来显示不同使用界面 主要实现过程代码 用户消息 系统管理 3 2 3 管理员模块 3 2 3 1 增加删除修改评级条件界面如图 3 2 19 图3 2 增删改界面 增加评级条件主要实现过程代码 int fen Integer parseInt request getParameter fen int boardId Integer parseInt request getParameter boardId int uId Integer parseInt request getParameter uId int flag 0 Topic topic new Topic topic setTitle title topic setFen fen topic setBoardId boardId topic setUId uId TopicDAO topicDAO new TopicDAOImpl flag topicDAO addTopic topic 修改评级条件主要实现过程代码 String title request getParameter title int uId Integer parseInt request getParameter uId int topicId Integer parseInt request getParameter topicId int boardId Integer parseInt request getParameter boardId int flag 0 TopicDAO topicDAO new TopicDAOImpl Topic topic new Topic topic setTitle title flag topicDAO updateTopic topic 删除评级条件主要实现过程代码 request setCharacterEncoding gb2312 HttpSession session request getSession false TopicDAO topicDAO new TopicDAOImpl int boardId Integer parseInt request getParameter boardId int topicId Integer parseInt request getParameter topicId int flag 0 flag topicDAO deleteTopic topicId 3 2 3 2 客户管理 20 客户登陆后界面如图 3 3 图 3 3 客户登陆界面 主要实现过程代码 if user nulllocation replace adminmain jsp response sendRedirect index jsp else out print alert 登 陆成功 location replace index jsp else out print alert 登陆失 败 location replace lojin jsp response sendRedirect login jsp 3 2 4 客户功能模块实现 3 2 4 1 修改个人信息界面如图 3 4 21 图 3 4 用户信息界面 主要实现过程代码 PrintWriter out response getWriter String uName request getParameter uName String uPass request getParameter uPass String nuPsw request getParameter nuPsw String upone request getParameter upone Sing uemail request getParameter uemail String upartment request getParameter uemail UserDAO userDAO new UserDAOImpl User user userDAO findUser uName if user null UserDAO userDAO new UserDAOImpl User user new User user setUName uName user setUPass nuPsw user setUphone upone User setUemail uemail ser setUpartment upartment flag userDAO updateUser user if flag 0 out print alert 修改成功 22 location replace user jsp else out print alert 修改失败 location replace updateuser jsp else out print alert 密码错误修改失败 location replace updateuser jsp 3 2 4 2 使用评级功能 用户评级界面如图 3 5 主要实现过程代码 CardItemBIZ cardItemBIZ new CardItemBIZ HttpSession session request getSession false if action equals add int id Integer parseInt request getParameter id cardItemBIZ addCard id session if action equals delete int id Integer parseInt request getParameter id cardItemBIZ deleteCard id session if action equals clear cardItemBIZ clearCard session 23 double sum cardItemBIZ sumCost session session setAttribute sum sum request getRequestDispatcher card jsp forward request response response sendRedirect pingji jsp 用户评级结果如图 3 6 图 3 6 评级结果界面 功能中主要计分算法主要实现过程代码 取出 session 范围的 itemMap 属性 Map itemMap Map session getAttribute itemMap 如果 Map 对象为空 则初始化 Map 对象 if itemMap null itemMap new HashMap itemMap put A 分 0 itemMap put B 分 0 itemMap put C 分 0 24 获取上个页面的请求参数 String buy request getParameterValues item 遍历数组的各元素 for String item buy 如果 item 为 A 表示选择选中 A if item equals A int num1 itemMap get A 分 intValue 将书籍 key 对应的数量加 1 itemMap put A 分 num1 3 else if item equals B int num2 itemMap get B 分 intValue itemMap put B 分 num2 2 else if item equals C int num3 itemMap get C 分 intValue itemMap put C 分 num3 1 将 itemMap 对象放到设置成 session 范围的 itemMap 属 session setAttribute itemMap itemMap 3 2 4 3反馈信息 评级后 反馈界面如图 3 7 25 图 3 7 反馈界面 主要实现过程代码 String name request getParameter name String content request getParameter content User user1 User session getAttribute users UserDAO userDao new UserDAOImpl User user userDao findUser name int flag 0 if user null if user1 getUName equals name out print alert 不能给自己留言 location replace postMessage jsp else MessageDAO messageDao new MessageDAOImpl Message message new Message message setNote content message setSendUname user1 getUName message setReceiveUname name flag messageDao addMessage message if flag 0 out print alert 留言成功 location replace listMessage jsp 26 else out print alert 没有找到用户 不能留言 location replace postMessage jsp 4 4 运行与测试运行与测试 4 1 软件测试的目的和原则 在开发大型软件系统的过程中 需要面对错综复杂的问题 因此 在软件生存 周期的每个阶段都不可避免地会产生错误 我们力求在每个阶段结束之前通过 严格的技术审查 尽可能早的发现并纠正错误 测试的目的就是在软件投入生 产性运行之前 尽可能多地发现软件中的错误 目前软件测试仍然是保证软件 质量的关键步骤 它是对软件规格说明 设计和编码的最后复审 尽管面向对象技术的基本思想保证了软件应该有

温馨提示

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

评论

0/150

提交评论