L2003215065_余栋梁_论文格式化系统_——后台模块的设计与实现_第1页
L2003215065_余栋梁_论文格式化系统_——后台模块的设计与实现_第2页
L2003215065_余栋梁_论文格式化系统_——后台模块的设计与实现_第3页
L2003215065_余栋梁_论文格式化系统_——后台模块的设计与实现_第4页
L2003215065_余栋梁_论文格式化系统_——后台模块的设计与实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

分类号 分类号 TP315TP315 U U D D C C D10621 408 2007 5746 0D10621 408 2007 5746 0 密密 级 公级 公 开开 编编 号 号 20032150652003215065 成成 都都 信信 息息 工工 程程 学学 院院 学学 位位 论论 文文 论文格式化系统论文格式化系统 后台模块的设计与实现后台模块的设计与实现 论文作者姓名 论文作者姓名 余栋梁余栋梁 申请学位专业 申请学位专业 网络工程网络工程 申请学位类别 申请学位类别 工学学士工学学士 指指导导教教师师姓姓名名 职职称称 高宏宇 讲师 高宏宇 讲师 论文提交日期 论文提交日期 20072007 年年 0606 月月 1010 日日 论文格式化系统论文格式化系统 后台模块的设计与实现后台模块的设计与实现 摘摘 要要 论文的格式修改是一件很麻烦的事情 一篇论文在定稿以前为了让格式达 到标准 需要修改很多次 浪费了大量时间 本系统的设计初衷就是为了解决 论文书写格式的规范化 方便学者论文格式的自动生成 本系统是基于 Java 平台的 Web 应用程序 采用 JSP 作为后台开发语言 HTML 和 JavaScript 作为前台开发语言 MYSQL5 0 作为后台数据库 系统具有稳 定性高 可移植性强等特点 本系统中文档数据的传输和存储均使用 XML 形式 以 XML 作为数据的中间 状态 便于以后进行系统的扩展 完成了论文的格式化 生成格式化后的 word 文件和 PDF 文件 并提供给用户进行下载 本系统设计过程中使用了当前比较流行的技术 比如使用 AJAX 技术来进行 注册验证 系统架构使用 B S 模式进行设计 关键词关键词 格式化 移植性 数据库 The Essay Formatting System Server side Design and Implementation Abstract Modification the format of thesis is always a troublesome thing In order to make the thesis match the format before the final version or text need many times amending which is a waste of time This system is mean to solve the problem which can modify the format of the thesis automatically and create the format easily This system is a web application based on Java platform JSP is the background program language while html and JavaScript as the forestage program language The system is stable and can be replanted by using the MYSQL5 0 as the database The transmission and storage of the document in the system are all using xml form Using the xml as the middle state of the data is convenience for the system expending after the format of the thesis will create a formatted word or PDF document This system is designed by using the most popular technology such as AJAX technique to check registration This system is designed based on b s mode Key words format replant database 目目 录录 论文总页数 27 页 1引言 1 1 1课题背景 1 1 2国内外研究现状 1 1 3本课题研究的意义 1 1 4本课题的研究方法 1 2论文格式化系统总体设计 2 2 1论文格式化系统的需求分析 2 2 1 1功能需求 2 2 1 2性能需求 2 2 2论文格式化系统选型 2 2 2 1设计语言的选择 3 2 2 2数据库的选择 4 2 2 3开发工具的选择 5 2 2 4文档转换技术的选择 5 2 3环境搭建 6 2 3 1安装 jdk 6 2 3 2安装 Tomcat 6 2 3 3安装 Mysql 7 2 3 4安装 JDBC 驱动程序 7 3论文格式化系统详细设计 7 3 1系统功能模块和结构设计 7 3 2设计思想 9 3 3数据库设计 9 3 3 1 数据库需求分析 9 3 3 2 数据库实体关系设计 9 3 3 3 数据库逻辑设计 10 3 4前台界面的设计 11 3 4 1首页的设计 11 3 4 2登录页面的设计 12 3 4 3用户不存在页面的设计 12 3 4 4密码错误页面的设计 12 3 4 5登录成功页面的设计 12 3 4 6注册页面的设计 13 3 4 7注册成功页面的设计 13 3 4 8提取或显示记录页面的设计 13 3 5后台的编写 14 3 5 1数据库操作模块 14 3 5 2用户登录模块 15 3 5 3注册及验证模块 15 3 5 4记录上传与下载模块 16 3 5 5文档转换模块 17 3 6xslt 模板 21 3 7xslt 简介 21 3 8web xml 文件的配置 23 结 论 25 参考文献 25 致 谢 26 声 明 27 第 1 页 共 27 页 1 1 引言引言 1 11 1 课题背景课题背景 在人们繁忙的工作环境中 很多资料文件都要形成规范化的文档便于分类 和存放 信息化的社会已经将以前手工抄写文档全部用电脑办公平台提供的统 一的文档编辑软件所取代 当然所编写的文档的格式也是统一化的 包括文档 中内容的字体 字号 标记 页码等等都是统一的 比如美国微软公司的 word 文档格式 这种格式已经成为了世界的一种标准 全世界通用 再比如 Adobe 公司的 PDF 文档格式 也是一种世界标准 是人们常用的一种文档格式 然而 在日常的办公中 人们需要在文档编辑软件中编辑文档 需要花费大量的时间 和精力来编辑文档的格式 比如字体 字号等等 对于同一类的文档来说 格 式都是规范化好了的 但是文档编辑器不可能提供每一个规范好了的模板 因 为各个地区或者企业他都有自己的规范 人们需要自己去编辑 这样话就降低 了办公的效率 对于个人和企业来说都是在浪费时间 提高了成本 于是聪明 的人开始想办法解决这个问题 新的软件由此产生了 涌现出了很多的 PDF word 文档的转换软件 他们很强大 不仅可以将 PDF 转换为 word 也可以将 word 转换成 PDF 格式 有的也可以转换其他格式的文档 比如将 HTML 文档转 化成 PDF 文档 1 21 2 国内外研究现状国内外研究现状 在国外很早就开始进行文档自动化的研究了 但是都是进行底层的文档生 成工作 都是提供一个底层平台 用户使用平台提供的 API 基于自己的特定 目标进行二次开发 很多公司都是使用开源的第三方包 在遵守开源许可证的 基础上进行产品开发 1 31 3 本课题研究的意义本课题研究的意义 考虑到高等学府中教师 学生也要写论文 而且所写的论文要保存为特定 格式的文档 保证论文的规范化 为此 我们设计了一套系统专门提供给毕业 生将论文转化为规范的格式 省去大量的论文编辑时间 提高论文发表的效率 降低论文修改的频率 给同学们带来巨大的方便 我们将系统定位于 B S 模式 主要考虑到系统易用性 客户机只需要安装了 IE 浏览器就可以通过访问网站的 形式使用论文格式化系统 只是本系统一大优势 1 41 4 本课题的研究方法本课题的研究方法 通过对业界使用的各种文档转换技术进行比较分析 找到最适合本课题的 技术 然后使用选择的技术构建本系统 第 2 页 共 27 页 2 2 论文格式化系统总体设计论文格式化系统总体设计 2 12 1 论文格式化系统的需求分析论文格式化系统的需求分析 2 1 12 1 1 功能需求功能需求 支持用户注册 因为用户需要将文档内容保存在服务器上 所以必须实现用户的注册功能 用户需要保存的信息包括用户名 呢称 密码 性别 电子邮件地址 省份 城市 注册时间 用户信息将保存在数据库中 支持用户登录 用户登录以后才能进行文档的上传以及转换等操作 这就要求保持会话信 息 支持用户取回记录 用户登录以后 可以将服务器上保存的数据取下来 进行再次修改 支持用户上传记录 用户第一次录入数据 或者是用户将服务器上取回的数据进行修改以后 可以将数据上传至服务器 并且在数据库中添加记录的文件名路径 支持用户转换成 word 文档 用户通过页面的向服务器提交转换成 word 文档的请求 服务器接受到请求 以后 将文档转换成 word 文档 然后再传送给客户端 供用户下载使用 支持用户转换成 PDF 文档 用户通过页面的向服务器提交转换成 PDF 文档的请求 服务器接受到请求 以后 将文档转换成 PDF 文档 然后再传送给客户端 供用户下载使用 支持可配置性 便于移植 模板的可配置性 针对具体的应用场景 通过修改模板文件 就可以生成 合乎用户要求的文档 环境的可配置性 数据库的用户名 密码 以及模板文件的存放路径 用 户数据的存放路径 都应该通过配置文件实现 2 1 22 1 2 性能需求性能需求 一个用户不能看到其他用户的记录 充分考虑易用性和实用性 软件应该以 B S 架构 界面简单易用 2 22 2论文格式化系统选型论文格式化系统选型 对系统设计语言 后台数据库的选择直接影响到系统在各种平台上运行时 性能的好坏 对日后系统性能的扩展具有决定性的作用 因此 论文格式化系 第 3 页 共 27 页 统在设计初期做了详细的系统选型 2 2 12 2 1 设计语言的选择设计语言的选择 1 Java Server Page 概述 JSP JAVA Server Page 是由 Sun 公司于 1999 年 6 月推出的新技术 是基于 Java Servlet 以及整个 JAVA 体系的 Web 开发技术 能够实现跨平台和兼容各种 Web 服务器产品 而且还能够把强大的 Java 服务器应用技术 Server side Java Technology 有机的融合到 HTML 网页中去 它是结合 markup HTML 或 XML 和 JAVA 代码来处理的一种动态页面 每一页第一次被调用时 通过 JSP 引擎自动被编译成 Servlet 然后被执行 以后每次调用时 执行编译过的 Servlet JSP 提供了多种方式访问 Java class Servlet Applets 和 Web Server 因此 Web 应用的功能可以分成多个明确定义功用接口的组件 通过 JSP 将它 们结合在一起 这种模式允许工作分成两部分 组件开发与页面设计和编译 结合一些方 法调用 在这种应用编译模式 使得业务逻辑和数据处理分开 2 JSP 与 ASP 的比较 JSP 与 ASP 技术非常相似 两者都提供在 HTML 代码中混合某种程序代码 由语言引擎解释执行程序代码的能力 并且双方都能够为程序员提供组件设计 的功能 ASP 使用 COM 组件 JSP 使用 Java Bean 组件 两者都是面向 Web 服务器的技术 客户端浏览器不需要任何附加的软件支持 两者之间主要的区别 平台和服务器的选择 ASP 技术主要在微软公司的 Windows 平台上运行 包括 Windows 2000 Windows XP 和 Windows 2003 并且搭配其 WEB 服务器 IIS 但是 在其 他的平台运行时 不是性能低落 就是不支持 JSP 技术主要运行在操作系统上的一个 Java Virtual Machine 虚拟机器上 因此 它能够跨越所有的平台 并且能够搭配现有的 WEB 服务器 Apache IIS Tomcat 等等 因此 JSP 技术在跨平台的表现比 ASP 来得更有弹性 语法结构 两者都使用相同的标记符号作为程序的区段范围 不同的是 标记符号之 间 ASP 使用 JavaScript 和 VBScript 语言 而 JSP 使用 Java 语言 Java 是有 严格规划 强大且易扩充的语言 且提供强大的异常事件处理机制 远优于 VBScript 语言 语法的延展性 第 4 页 共 27 页 ASP 与 JSP 都是使用标签和 Scripting Language 来制作动态 WEB 网页 JSP 能够让程序员自由的扩展 JSP 标签来应用 所以程序员能充分的利用与 XML 兼容的标签技术强大的功能 大大的减低了对 Java 语法的依赖 并且也可以利 用 XML 强大的功能 做到数据 文件格式的标准化 执行性能 JSP 除了在一开始加载的时间会比较久之外 之后的表现就远远比 ASP 的 表现来得好 原因在于 JSP 在一开始接受到请求时 会产生一份 Servlet 实 体 instance 它会先被暂存在内存中 一般称之为持续 Persistence 当再有相同的请求时 这实体会产生一个线程来服务它 如果过了一段时间都 不再用到此实体时 Container 会自动将其释放 至于时间的长短 通常都可 以在 Container 上自行设定 JSP 的执行过程如图 1 所示 浏览器 IE Netscape 2 3 JSP Page 产生 Servlet 经编译 Servlet 1 Request 4 Response 图 1 JSP 的执行过程 而 ASP 在每次接收到请求时 都必须重新编译 因此 JSP 的执行比每次 都要编译执行的 ASP 要快 尤其是程序中存在循环操作时 JSP 的速度要快上 1 到 2 倍 综上所述 基于 JSP 语言在多方面的优点 CRM 系统在进行后台编码时采 用了发展前景良好的 JSP 语言 2 2 22 2 2 数据库的选择数据库的选择 本系统的数据库选用的是 MYSQL 首先 它提供了以 Web 标准为基础的扩 展数据库编程功能 可支持 Web 的分析 对数据的 Web 访问 其次 它具有良 好的移植性 可以移植到几乎所有平台 最后 它是免费的 极大的节约了成 本 第 5 页 共 27 页 2 2 32 2 3 开发工具的选择开发工具的选择 Eclipse 是一个很让人着迷的开发环境 它提供的核心框架和可扩展的插 件机制给广大的程序员提供了无限的想象和创造空间 目前网上流传相当丰富 且全面的开发工具方面的插件 但是 Eclipse 已经超越了开发环境的概念 可 以想象 Eclipse 将成为未来的集成的桌面环境 目前的 Eclipse 本身就具备资 源管理和外部程序的功能 加上无所不能的插件 将构成一个丰富多彩的工作 环境而不仅仅是一个 IDE 因此 在进行论文格式化系统编码时选用了 eclipse3 2 前台页面设计 使用了 Dreamweaver MX 2004 2 2 42 2 4 文档转换技术的选择文档转换技术的选择 WORD 文档生成技术分析 1 使用 iText 进行 WORD 文档直接的生成 这种技术是比较成熟的 但是它 的生成文档操作 需要对文档的结构进行一步步的构造 格式有轻微的变动 都必须通过编程进行 不能使用模板进行文档的生成 2 使用 word 提供的 COM 自动化接口控制 word 生成文档 这种方法靠 word 进程实际完成文件生成工作 而 word 并非设计为在服务器端处理并发调用 所 以这种方法只适合单机应用 另外 如果要生成比较复杂的 word 文件 相应的 代码会非常烦琐 排版和调试也需要花大量时间 3 利用 Word 对 html 的支持 制作 HTML 文件 并设置其 ContentType 为 application msword 使浏览器调用 word 打开 这种方法的致命问题是 html 文档中无法保存二进制数据 比如图片 如果在服务器端生成一堆文件 即难以在浏览器中显示 也无法让用户直接下载 4 基于 WordML 来生成 word 文件 WordML 是微软为 Word 设计的 XML 架构 其完整语法可以在 MSDN 上找到 按照这个语法生成 xml 文件 可以在文档中随 意得到各种 word 支持的格式 因为 WordML 是比较新的技术 如果生成这种文 件 会导致较老的版本比如 office97 不能打开 所以这种方法的缺陷也比较明 显 5 使用 JasperReports 等报表生成工具生成 word 文档 JasperReports 强 项在于报表的生成 生成的 word 文档都是带状的 每一页的关系不是很紧密 它是以整个报表的各部分来进行设计的 而我们生成的文档是以一篇文章的结 构来组织的 所以这种方式不适合 6 直接使用 XML XSLT 方式解决 最终生成 RTF 格式的 word 文档 我们只 需要将数据放在 XML 文件中 以 XSLT 文件作为模板来进行格式的定制 第 6 页 共 27 页 word 文档生成技术的选择 经过对六种技术进行比较后 我们选择第六种技术进行 word 文档的生成 PDF 文档生成技术比较分析 1 使用 iText 技术进行 PDF 文档的生成 同使用 iText 生成 word 文档一样 它是对文档中的每一个元素都使用编程接口进行生成 不支持模板方式 生成 文档很复杂 2 使用 JasperReports 等报表生成工具生成 PDF 文档 JasperReports 强 项在于报表的生成 生成的 word 文档都是带状的 每一页的关系不是很紧密 它是以整个报表的各部分来进行设计的 而我们生成的文档是以一篇文章的结 构来组织的 所以这种方式不适合 3 使用 FOP 技术生成 PDF 文档 这种技术将 XSL FO 元素转换成 PDF 文档 而 XSL FO 元素可以通过 XML XSLT 方式来生成 我们只需要将数据放在 XML 文 件中 以 XSLT 文件作为模板来进行格式的定制 PDF 文档生成技术的选择 经过对三种技术进行比较 我们选择第三种技术进行 PDF 文档的生成 2 32 3 环境搭建环境搭建 2 3 12 3 1 安装安装 JDKJDK 在设计论文格式化系统时使用的是 jdk1 5 0 版本 安装路径为 C jdk1 5 0 在安装完成之后 进行了以下设置 从 我的电脑 属性 高级 环境变量 系统变量 新建 JAVA HOME C jdk1 5 0 PATH SystemRoot system32 SystemRoot SystemRoot System32 Wbe m JAVA HOME JAVA HOME bin CLASSPATH JAVA HOME bin JAVA HOME lib JAVA HOME lib dt ja r JAVA HOME lib tools jar 2 3 22 3 2 安装安装 TomcatTomcat 系统使用的 Tomcat 是 5 5 版本 安装路径为 D Program Files Apache Software Foundation Tomcat 5 5 在安装完成之后 进行了以下设置 TOMCAT HOME D Program Files Apache Software Foundation Tomcat 5 5 CATALINA HOME D Program Files Apache Software Foundation Tomcat 第 7 页 共 27 页 5 5 将 TOMCAT HOME common lib servlet jar 追加到 CLASSPATH 后 修改后 CLASSPATH JAVA HOME bin JAVA HOME lib JAVA HOME lib dt ja r JAVA HOME lib tools jar TOMCAT HOME common lib servlet jar 2 3 32 3 3 安装安装 M MYSQLYSQL 去 下载 windows 下的二进制安装包 下载完成后默认安装 就可以了 2 3 42 3 4 安装安装 JDBCJDBC 驱动程序 驱动程序 在 MYSQL 官方网站下载 mysql5 0 18 版本对应的 JDBC 驱动程序 jar 包 将 其放入 tomcat 安装目录的 common lib 下面 或者放入项目的 lib 文件夹下 到此 设计论文格式化系统的设计环境搭建完成 3 3论文格式化系统详细设计论文格式化系统详细设计 3 13 1系统详细设计系统详细设计 3 1 13 1 1 系统流程系统流程 在本系统中 角色只有用户一种 用户只有登录以后才具有各个操作的权 限 该系统的系统流程如图 2 所示 图 2 论文格式化系统流程图 流程描述 当用户第一次使用这个系统的时候 首先会注册一个账号 第 8 页 共 27 页 用户使用已经存在的账号登录系统 在这个过程中 如果发生错误 将 会转到指定的错误页面 如果登录成功 用户可以直接进入编辑页面进 行编辑 或者直接提取以前的记录进行修改 用户修改好数据以后上传至服务器供用户下次提取记录 用户通过显示记录页面 进行文档的转换操作 得到需要的文档 3 1 23 1 2 结构设计结构设计 论文格式化系统主架构采用界面 中间件 数据库这样的三层结构 如图 3 所示 图 3 论文格式化系统结构图 图 4 中间件设计 用户在 register jsp 进行注册操作 填写注册信息过程中 数据会被发送到 后台使用 action Check java 进行验证 并即时给出结果 注册请求会被发送到 data RegAction java 进行处理 主要是数据库的操作 最终处理结果被转发 到 result jsp 如果有非法操作等错误则转发到 error jsp 页面 并给出详细 说明 用户通过登录页面 login jsp 将登录信息发送到 data LoginAction 进行具体 登录操作 例如设置会话属性 同样的最终处理结果被转发到 result jsp 如 果有非法操作等错误则转发到 error jsp 页面 并给出详细说明 客户端 javaScript html 中间件 JSP Servlet 数据库 mysql5 0 用 户 界 面 业 务 逻 辑 数 据 逻 辑 业务逻辑 注册请求 register jsp 登录请求 login jsp 上传请求 index jsp 记录显示页面 showRecord jsp 转换请求 action Conversion java 结果页面 result jsp 错误页面 error jsp 数据逻辑 注册动作 data RegAction java 登录动作 data LoginAction 上传动作 data Upload java 显示记录动作 data showRecord jva 提取动作 data FileProcess java 转换动作 data Conversion java 注册验证 action Check java 第 9 页 共 27 页 用户如果登录 就可以在 index jsp 编辑文档数据 然后通过上传按钮发送 数据上传请求给 data Upload java 上传结果直接在 index jsp 页面提示 如 果有非法操作等错误则转发到 error jsp 页面 并给出详细说明 如果用户通过 showRecord jsp 页面显示已经保存在服务器上的记录 实际的 数据处理过程是由 data ShowRecord java 实现 showRecord jsp 只负责呈现 结果给用户看 如果有非法操作等错误则转发到 error jsp 页面 并给出详细 说明 如果用户发出转换请求 action Conversion java 通过用户的请求参数 调 用相应的转换对象 data ConversionDoc java 或者 data ConversionPdf java 处理用户的转换请求 3 23 2设计思想设计思想 前台使用 JavaScript 和 JSP 与用户进行交互 并结合 Ajax 技术 给使用 者更好的用户体验 后台使用 JSP Servlet 使用 JSP 处理业务逻辑 Servlet 来处理数据逻 辑 实现了良好的分层结构 便于扩展和维护 3 33 3数据库设计数据库设计 3 3 13 3 1 数据库需求分析数据库需求分析 本系统仅仅需要简单的用户管理 提供用户的注册 用户的登录 以及保 存用户上传到服务器上的数据 3 3 23 3 2 数据库关系设计数据库关系设计 通过以上的需求分析 设计出数据库的逻辑结构图 从这种逻辑结构有可 以建立数据库的物理结构即表结构 根据需求设计出两个数据表 分别是 用 户信息表 user 用户记录表 record 其结构及关系如图 5 所示 第 10 页 共 27 页 图 5 数据表关系图 3 3 33 3 3 数据库逻辑设计数据库逻辑设计 确定了数据库的逻辑关系和数据结构之后 进一步将以上所述的八个数据 表由概念结构转化为数据库系统所支持的实际数据模型 也就是数据库的逻辑 结构 表 3 1 所示为用户信息表 user 记录了用户的信息 表 3 1 user 列名数据类型长度 Id 主键 Int11 userNameInt11 passwordvarchar20 nicknamevarchar20 emailvarchar20 realnamevarchar20 sexvarchar20 provincevarchar20 cityvarchar20 birthdayvarchar20 regTimedatetime 第 11 页 共 27 页 表 3 2 所示为历史记录表 record 记录了使用该系统的企业内部各部 门的信息 表 3 2 record 列名数据类型长度 id 主键 Int11 userIdInt11 recordPathvarchar40 recordDatedatetime 其中 record 表的 userId 与 user 表的 id 关联 3 43 4前台界面的设计前台界面的设计 3 4 13 4 1 首页的设计首页的设计 图 6 首页 当用户第一次打开本系统的时候首先进入的将是此页面 很简介的界面 浅显易懂 已经有账号的用户可以单击 登录 按钮 将转入登录界面 图 7 进行登录 第 12 页 共 27 页 3 4 23 4 2 登录页面的设计登录页面的设计 图 7 登录页面 3 4 33 4 3 用户不存在页面的设计用户不存在页面的设计 输入用户名和密码即可点登录 如果用户不存在将转入用户不存在页面 图 8 图 8 用户不存在 3 4 43 4 4 密码错误页面的设计密码错误页面的设计 如果密码错误 将进入密码错误页面 图 9 图 9 密码错误 3 4 53 4 5 登录成功页面的设计登录成功页面的设计 用户名和密码都正确的话 将进入登录成功页面 图 10 图 10 登录完成 然后可以直接提取保存的记录或者直接进入首页进行文档内容的输入 第 13 页 共 27 页 3 4 63 4 6 注册页面的设计注册页面的设计 如果用户第一次使用本系统 那么将进入注册页面注册一个账号才能使用 注册页面使用了 Ajax 技术进行数据的验证 比如用户名是否已经存在或者用户 邮箱重复 可以不提交 只要输入完 鼠标点击另一行 验证结果就会显示在 右边 如图 11 图 11 注册页面 3 4 73 4 7 注册成功页面的设计注册成功页面的设计 当用户注册成功将转到注册成功页面 图 12 图 12 成功注册 3 4 83 4 8 提取或显示记录页面的设计提取或显示记录页面的设计 当用户登录以后可以进入提取或显示记录的页面 进行提取记录或者转换 文档的操作 图 13 第 14 页 共 27 页 图 13 显示记录 3 5 后台的编写后台的编写 3 5 13 5 1 数据库操作模块数据库操作模块 本系统中 所有连接数据库进行操作 均使用一个 DbConnBean 类 图 14 每当要使用数据库之前 需要初始化此类例如 data DbConnBean con new data DbConnBean DBDriver ConnStr MyUser MyPassword 其中输入参数分别是驱动类型 连接字符串 用户名 密码 然后使用 DbConnBean 对象 con 进行数据库的操作 DbConnBean 中四个函数 对应数据库 的四种操作 只需要传入 SQL 语句 即可进行操作 public ResultSet executeQuery String sql 函数 它是数据库查询操作 返回一个结果集 如果此操作有异常发生 将打印在控制台或输出到日志文件 public void executeUpdate String sql 函数 它是数据更新操作 无返 回值 如果此操作有异常发生 将打印在控制台或输出到日志文件 public boolean executeInsert String sql 函数 它是数据插入操作 插入成功返回 true 插入失败返回 false 如果此操作有异常发生 将打印在控 制台或输出到日志文件 public boolean executeDelete String sql 函数 它是数据删除操作 删除 成功返回 true 插入失败返回 false 如果此操作有异常发生 将打印在控制台 或输出到日志文件 图 14 数据库操作 第 15 页 共 27 页 3 5 23 5 2 用户登录模块用户登录模块 用户的登录请求将被发送到 LoginAction 页面 图 15 用户名和密码将 作为参数一起发送 LoginAction 接受用户名和密码 并查询数据库判断用户 名和密码是否正确 如果正确就创建会话 并设置会话属性 页面转到 index jsp 中 如果用户名错误或者密码错误 就将页面转到 result jsp 中 并给出提示信息 图 15 登录请求 3 5 33 5 3 注册及验证模块注册及验证模块 用户使用注册页面 register jsp 的过程中 每输入完一项 客户端会把数 据发送到 Check 图 16 中进行检查 检查结果将以 XML 格式发回客户端 并 立即显示出来 当用户将数据输入完毕 点击注册按钮以后 请求被发送到 RegAction 图 17 中 进行数据库插入操作 如果插入成功 将页面转到注 册成功页面 图 12 图 16 注册效验 第 16 页 共 27 页 图 17 注册动作 3 5 43 5 4 记录上传与下载模块记录上传与下载模块 当用户在首页点击提交按钮的时候 客户端的数据将以 XML 形式被组织起 来发往 Upload 图 18 Upload 再调用 FileProcess 图 19 对象的 public boolean fileSave byte data String name String dir 函数将数据保存到 服务器上 保存成功就将记录的文件名写入数据库 否则提示用户提交失败 图 18 上传动作 图 19 文件上传与下载动作 当用户点击 提取记录 的时候 此请求将被发送到 index jsp index jsp 根据接收的文件名参数调用 FileProcess 图 19 的 public byte fileDown String path 函数将记录以 XML 形式下载到客户端 客户端使用 javaScript 脚本将数据填充到输入框中 第 17 页 共 27 页 3 5 53 5 5 文档转换模块文档转换模块 当用户点击 转换成 word 文档 或者 转换成 pdf 文档 的时候 请求将 被发送到 action Conversion 图 20 中 action Conversion 根据需要转换 类型再调用相应的转换对象 data ConversionDoc 图 21 或者 data ConversionPdf 图 22 进行转换 图 20 转换请求 1 转换成 word 文档 图 21 转换成 word 文档 将 XML 文档转换成 word 支持的 rtf 格式 使用了 javax xml transform 的 transform 函数 使用 xml 文件和 xslt 模板做输入 输出为 rtf 格式的文 档 并以流的形式发送到客户端 让用户下载 代码如下 public void conversion throws IOException TODO 自动生成方法存根 response setContentType Application msword charset UTF 8 response setHeader Content Disposition attachment 第 18 页 共 27 页 filename newFilename fileName OutputStream out response getOutputStream StreamSource sr new StreamSource new File fileDir fileName StreamResult rs new StreamResult out TransformerFactory factory TransformerFactory newInstance Templates tempXsl null try tempXsl factory newTemplates new StreamSource new File confDir xslt Transformer tf tempXsl newTransformer tf transform sr rs out flush out close catch TransformerConfigurationException e System out println xslt 严重配置错误 e getMessage out close out null catch TransformerException te System out println 转换过程发生异常 te getMessage out close out null 2 转换成 pdf 文档 图 22 转换成 PDF 文档 第 19 页 共 27 页 将 XML 文档转换成 PDF 格式 使用了开源项目 Apache FOP 来进行转换 要得到 PDF 文档 需要两步 图 23 图 23 XML 文档转换成 PDF 流程 1 用 XSLT 样式表将 XML 文档转换为由 XSL FO 元素构成的文件 要执行 这一转换 只需用调用 XSLT 处理器 2 用某种显示引擎将 XSL FO 元素转换为 PDF 文件 本系统首先使用 javax xml transform 的 transform 函数 使用 XML 文件和 XSLT 模板做输入 输出为 XSL FO 元素构成的文档 然后使用 FOP 引擎将 XSL FO 文件转换成用户需要的 PDF 文件 并以流的形式发送到客户端 让用 户下载 源代码如下 Override public void conversion throws IOException TODO 自动生成方法存根 response setContentType Application msword charset UTF 8 response setHeader Content Disposition attachment filename newFilename fileName OutputStream out response getOutputStream byte temp ByteArrayOutputStream bos new ByteArrayOutputStream StreamSource sr new StreamSource new File fileDir fileName StreamResult rs new StreamResult bos TransformerFactory factory TransformerFactory newInstance Templates tempXsl null try tempXsl factory newTemplates new StreamSource new File confDir xslt 第 20 页 共 27 页 Transformer tf tempXsl newTransformer tf setOutputProperty OutputKeys ENCODING gb2312 tf transform sr rs catch TransformerConfigurationException e System out println xslt 严重配置错误 e getMessage catch TransformerException te System out println fo 生成过程发生异常 te getMessage temp bos toByteArray System out println new String temp 测试代码 try Driver driver new Driver Logger logger new ConsoleLogger ConsoleLogger LEVEL INFO driver setLogger logger org apache fop messaging MessageHandler setScreenLogger logger driver setRenderer Driver RENDER PDF InputStream input new ByteArrayInputStream temp driver setInputSource new InputSource input driver setOutputStream out Options options new Options new File confDir userconfig xml driver run out flush out close catch IOException e out close System out println 生成 pdf 发生异常 e getMessage catch org apache fop apps FOPException e out close System out println 生成 pdf 发生异常 e getMessage 第 21 页 共 27 页 3 63 6 XSLTXSLT 模板模板 本系统两种文档的生成 都是建立在模板的基础上 此模板为 XSLT 文件 遵循 XSLT1 0 标准 3 73 7 XSLTXSLT 简介简介 XSLT 是由 XSL Extensible Stylesheet Language 发展而来的 XSLT 是 一种基于 XML 的语言 用于将一类 XML 文档转换成另一种 XML 文档 如果是一个熟悉 XML 编程的开发人员 他可以自己手工编写自己的 XSLT 文件 但是对用户来说 要求太高 因此 我们使用了软件 Altova StyleVision 来进行辅助设计 XSLT 模板 它使用所见即所得的方式来进行编写 首先在 Design 窗口 图 24 中进行排版与设计 可以在 RTF Preview 窗口 图 25 预览转换生成的 rtf 文档 或点击 PDF Preview 生成 PDF 模板进行预览 图 24 模板编辑 第 22 页 共 27 页 图 25 模板预览 当设计完成以后

温馨提示

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

最新文档

评论

0/150

提交评论