首页 论文格式化系统_—后台模块的设计与实现—免费毕业设计论文

论文格式化系统_—后台模块的设计与实现—免费毕业设计论文

举报
开通vip

论文格式化系统_—后台模块的设计与实现—免费毕业设计论文论文格式化系统_—后台模块的设计与实现—免费毕业设计论文 毕业设计(论文) 论文格式化系统 ——后台模块的设计与实现 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 论文格式化系统 ——后台模块的设计与实现 摘 要 论文的格式修改是一件很麻烦的事情,一篇论文在定稿以前为了让格式达到标准,需要修改很多次,浪费了大量时间。本系统的设计初衷就是为了解决论文书写格式的规范化,方便学者论文格式的自动生成。 本系统是基于Java平台的Web应用程序。采用JSP作为后台开...

论文格式化系统_—后台模块的设计与实现—免费毕业设计论文
论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 格式化系统_—后台模块的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 与实现—免费毕业设计论文 毕业设计(论文) 论文格式化系统 ——后台模块的设计与实现 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 论文格式化系统 ——后台模块的设计与实现 摘 要 论文的格式修改是一件很麻烦的事情,一篇论文在定稿以前为了让格式达到 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,需要修改很多次,浪费了大量时间。本系统的设计初衷就是为了解决论文书写格式的规范化,方便学者论文格式的自动生成。 本系统是基于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 设计语言的选择 ................................................... 32.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 系统功能模块和结构设计 ............................................... 7 3.1 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.6 xslt模板 ........................................................... 21 3.7 xslt简介 ........................................................... 21 3.8 web.xml文件的配置 .................................................. 23 结 论 .................................................................... 25 参考文献 .................................................................... 25 致 谢 .................................................................... 26 声 明 .................................................................... 27 1 引言 1.1 课题背景 在人们繁忙的工作环境中,很多资料文件都要形成规范化的文档便于分类和存放,信息化的社会已经将以前手工抄写文档全部用电脑办公平台提供的统一的文档编辑软件所取代,当然所编写的文档的格式也是统一化的,包括文档中内容的字体,字号,标记,页码等等都是统一的。比如美国微软公司的word文档格式,这种格式已经成为了世界的一种标准,全世界通用,再比如Adobe公司的PDF文档格式,也是一种世界标准,是人们常用的一种文档格式。然而在日常的办公中,人们需要在文档编辑软件中编辑文档,需要花费大量的时间和精力来编辑文档的格式,比如字体,字号等等,对于同一类的文档来说,格式都是规范化好了的,但是文档编辑器不可能提供每一个规范好了的模板,因为各个地区或者企业他都有自己的规范,人们需要自己去编辑,这样话就降低了办公的效率,对于个人和企业来说都是在浪费时间,提高了成本。于是聪明的人开始想办法解决这个问题,新的软件由此产生了,涌现出了很多的PDF、 word文档的转换软件,他们很强大,不仅可以将PDF转换为word,也可以将word转换成PDF格式,有的也可以转换其他格式的文档,比如将HTML文档转化成PDF文档。 1.2 国内外研究现状 在国外很早就开始进行文档自动化的研究了,但是都是进行底层的文档生成工作,都是提供一个底层平台,用户使用平台提供的API,基于自己的特定目标进行二次开发。很多公司都是使用开源的第三方包,在遵守开源许可证的基础上进行产品开发。 1.3 本课题研究的意义 考虑到高等学府中教师,学生也要写论文,而且所写的论文要保存为特定格式的文档,保证论文的规范化,为此,我们设计了一套系统专门提供给毕业生将论文转化为规范的格式,省去大量的论文编辑时间,提高论文发表的效率,降低论文修改的频率,给同学们带来巨大的方便。我们将系统定位于B/S模式,主要考虑到系统易用性,客户机只需要安装了IE浏览器就可以通过访问网站的形式使用论文格式化系统,只是本系统一大优势。 1.4 本课题的研究方法 通过对业界使用的各种文档转换技术进行比较分析,找到最适合本课题的技术,然后使用选择的技术构建本系统。 第 1 页 共 27 页 2 论文格式化系统总体设计 2.1 论文格式化系统的需求分析 2.1.1 功能需求 ?支持用户注册 因为用户需要将文档内容保存在服务器上,所以必须实现用户的注册功能。用户需要保存的信息包括用户名、呢称、密码、性别、电子邮件地址、省份、城市、注册时间,用户信息将保存在数据库中。 ?支持用户登录 用户登录以后才能进行文档的上传以及转换等操作,这就要求保持会话信息。 ?支持用户取回记录 用户登录以后,可以将服务器上保存的数据取下来,进行再次修改。 ?支持用户上传记录 用户第一次录入数据,或者是用户将服务器上取回的数据进行修改以后,可以将数据上传至服务器,并且在数据库中添加记录的文件名路径。 ?支持用户转换成word文档 用户通过页面的向服务器提交转换成word文档的请求,服务器接受到请求以后,将文档转换成word文档,然后再传送给客户端,供用户下载使用。 ?支持用户转换成PDF文档 用户通过页面的向服务器提交转换成PDF文档的请求,服务器接受到请求以后,将文档转换成PDF文档,然后再传送给客户端,供用户下载使用。 ?支持可配置性,便于移植 模板的可配置性:针对具体的应用场景,通过修改模板文件,就可以生成合乎用户要求的文档。 环境的可配置性:数据库的用户名、密码,以及模板文件的存放路径,用户数据的存放路径,都应该通过配置文件实现。 2.1.2 性能需求 ?一个用户不能看到其他用户的记录。 ?充分考虑易用性和实用性。 ?软件应该以B/S架构,界面简单易用。 2.2 论文格式化系统选型 对系统设计语言、后台数据库的选择直接影响到系统在各种平台上运行时性能的好坏,对日后系统性能的扩展具有决定性的作用。因此,论文格式化系 第 2 页 共 27 页 统在设计初期做了详细的系统选型。 2.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语言。 ?语法的延展性 第 3 页 共 27 页 ASP与JSP都是使用标签和Scripting Language来制作动态WEB网页,JSP能够让程序员自由的扩展JSP标签来应用,所以程序员能充分的利用与XML兼容的标签技术强大的功能,大大的减低了对Java语法的依赖,并且也可以利用XML强大的功能,做到数据、文件格式的标准化。 ?执行性能 JSP除了在一开始加载的时间会比较久之外,之后的表现就远远比ASP的表现来得好。原因在于:JSP在一开始接受到请求时,会产生一份Servlet实体(instance),它会先被暂存在内存中,一般称之为持续(Persistence), 当再有相同的请求时,这实体会产生一个线程来服务它,如果过了一段时间都不 ainer会自动将其释放,至于时间的长短,通常都可以再用到此实体时,Cont 在 Container上自行设定。JSP的执行过程如图1所示: JSP Page 1 Request 浏览器 IE 2 Netscape 产生Servlet 3 4 Response 经编译Servlet 图1 JSP的执行过程 而ASP在每次接收到请求时,都必须重新编译。因此,JSP的执行比每次都要编译执行的ASP要快,尤其是程序中存在循环操作时,JSP的速度要快上1到2倍。 综上所述,基于JSP语言在多方面的优点, CRM系统在进行后台编码时采用了发展前景良好的JSP语言。 2.2.2 数据库的选择 本系统的数据库选用的是MYSQL。首先,它提供了以Web标准为基础的扩展数据库编程功能,可支持Web的分析,对数据的Web访问。其次,它具有良好的移植性,可以移植到几乎所有平台。最后,它是免费的,极大的节约了成本。 第 4 页 共 27 页 2.2.3 开发工具的选择 Eclipse 是一个很让人着迷的开发环境,它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发工具方面的插件,但是Eclipse已经超越了开发环境的概念,可以想象Eclipse将成为未来的集成的桌面环境。目前的Eclipse本身就具备资源管理和外部程序的功能,加上无所不能的插件,将构成一个丰富多彩的工作环境而不仅仅是一个IDE。 因此,在进行论文格式化系统编码时选用了eclipse3.2。 前台页面设计,使用了 Dreamweaver MX 2004。 2.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文件作为模板来进行格式的定制。 第 5 页 共 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.3 环境搭建 2.3.1 安装JDK 在设计论文格式化系统时使用的是jdk1.5.0版本,安装路径为:C:\ jdk1.5.0,在安装完成之后,进行了以下设置: 从【我的电脑】?【属性】?【高级】?【环境变量】?【系统变量】?【新建】 JAVA_HOME=C:\ jdk1.5.0 PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wb em;%JAVA_HOME%;.;%JAVA_HOME%\bin CLASSPATH=%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.j ar;%JAVA_HOME%\lib\tools.jar 2.3.2 安装Tomcat 系统使用的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 5.5 第 6 页 共 27 页 将%TOMCAT_HOME%\common\lib\servlet.jar;追加到CLASSPATH后。 修改后: CLASSPATH=%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.j ar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib\servlet.jar 2.3.3 安装MYSQL 去www.mysql.com 下载windows下的二进制安装包,下载完成后默认安装就可以了。 2.3.4 安装JDBC驱动程序: 在MYSQL官方网站下载mysql5.0.18版本对应的JDBC驱动程序jar包,将其放入tomcat安装目录的\common\lib下面,或者放入项目的lib文件夹下。 到此,设计论文格式化系统的设计环境搭建完成。 3 论文格式化系统详细设计 3.1 系统详细设计 3.1.1 系统流程 在本系统中,角色只有用户一种,用户只有登录以后才具有各个操作的权限。该系统的系统流程如图2所示: 图2 论文格式化系统流程图 流程描述: ? 当用户第一次使用这个系统的时候,首先会注册一个账号。 ? 用户使用已经存在的账号登录系统,在这个过程中,如果发生错误,将 第 7 页 共 27 页 会转到指定的错误页面。如果登录成功,用户可以直接进入编辑页面进 行编辑,或者直接提取以前的记录进行修改。 ? 用户修改好数据以后上传至服务器供用户下次提取记录。 ? 用户通过显示记录页面,进行文档的转换操作,得到需要的文档。 3.1.2 结构设计 论文格式化系统主架构采用界面——中间件——数据库这样的三层结构。如图3所示: 业数用 务据户 逻逻界 辑 辑 面 客户端(javaScript+html) 中间件(JSP+Servlet) 数据库(mysql5.0) 图3 论文格式化系统结构图 业务逻辑 数据逻辑 注册请求(register.jsp) 注册动作(data.RegAction.java) 登录请求(login.jsp) 登录动作(data.LoginAction) 上传请求(index.jsp) 上传动作(data.Upload.java) 记录显示页面(showRecord.jsp) 显示记录动作(data.showRecord.jva) 转换请求(action.Conversion.java) 提取动作(data.FileProcess.java) 结果页面(result.jsp) 转换动作(data.Conversion.java) 错误页面(error.jsp) 注册验证(action.Check.java) 图4 中间件设计 ?用户在register.jsp进行注册操作,填写注册信息过程中,数据会被发送到后台使用action.Check,java进行验证,并即时给出结果,注册请求会被发送到data.RegAction.java进行处理,主要是数据库的操作,最终处理结果被转发到result.jsp,如果有非法操作等错误则转发到error.jsp页面,并给出详细说明。 ?用户通过登录页面login.jsp将登录信息发送到data.LoginAction进行具体登录操作,例如设置会话属性,同样的最终处理结果被转发到result.jsp,如果有非法操作等错误则转发到error.jsp页面,并给出详细说明。 ?用户如果登录,就可以在index.jsp编辑文档数据,然后通过上传按钮发送 第 8 页 共 27 页 数据上传请求给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.2 设计思想 前台使用JavaScript和JSP与用户进行交互,并结合Ajax技术,给使用者更好的用户体验。 后台使用JSP+ Servlet,使用JSP处理业务逻辑,Servlet来处理数据逻辑,实现了良好的分层结构,便于扩展和维护。 3.3 数据库设计 3.3.1数据库需求分析 本系统仅仅需要简单的用户管理,提供用户的注册,用户的登录,以及保存用户上传到服务器上的数据。 3.3.2数据库关系设计 通过以上的需求分析,设计出数据库的逻辑结构图,从这种逻辑结构有可以建立数据库的物理结构即表结构。根据需求设计出两个数据表,分别是:用户信息表(user),用户记录表(record)其结构及关系如图5所示。 第 9 页 共 27 页 图5 数据表关系图 3.3.3数据库逻辑设计 确定了数据库的逻辑关系和数据结构之后,进一步将以上所述的八个数据 表由概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑 结构。 表3–1所示为用户信息表(user),记录了用户的信息。 表3–1 user 列名 数据类型 长度 Id(主键) Int 11 userName Int 11 password varchar 20 nickname varchar 20 email varchar 20 realname varchar 20 sex varchar 20 province varchar 20 city varchar 20 birthday varchar 20 regTime datetime 第 10 页 共 27 页 表3–2所示为历史记录表(record),记录了使用该系统的企业内部各部门的信息。 表3–2 record 列名 数据类型 长度 id (主键) Int 11 userId Int 11 recordPath varchar 40 recordDate datetime 其中record表的userId与user表的id关联。 3.4 前台界面的设计 3.4.1 首页的设计 图6 首页 当用户第一次打开本系统的时候首先进入的将是此页面,很简介的界面,浅显易懂,已经有账号的用户可以单击“登录”按钮,将转入登录界面(图7),进行登录。 第 11 页 共 27 页 3.4.2 登录页面的设计 图7 登录页面 3.4.3 用户不存在页面的设计 输入用户名和密码即可点登录,如果用户不存在将转入用户不存在页面(图 8) 图8 用户不存在 3.4.4 密码错误页面的设计 如果密码错误,将进入密码错误页面(图9) 图9 密码错误 3.4.5 登录成功页面的设计 用户名和密码都正确的话,将进入登录成功页面(图10) 图10 登录完成 然后可以直接提取保存的记录或者直接进入首页进行文档内容的输入。 第 12 页 共 27 页 3.4.6 注册页面的设计 如果用户第一次使用本系统,那么将进入注册页面注册一个账号才能使用,注册页面使用了Ajax技术进行数据的验证,比如用户名是否已经存在或者用户邮箱重复,可以不提交,只要输入完,鼠标点击另一行,验证结果就会显示在右边(如图11) 图11 注册页面 3.4.7 注册成功页面的设计 当用户注册成功将转到注册成功页面(图12) 图12 成功注册 3.4.8 提取或显示记录页面的设计 当用户登录以后可以进入提取或显示记录的页面,进行提取记录或者转换文档的操作 (图13) 第 13 页 共 27 页 图13 显示记录 3.5 后台的编写 3.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 数据库操作 第 14 页 共 27 页 3.5.2 用户登录模块 ),用户名和密码将用户的登录请求将被发送到LoginAction页面(图15 作为参数一起发送。LoginAction接受用户名和密码,并查询数据库判断用户名和密码是否正确,如果正确就创建会话,并设置会话属性,页面转到index.jsp中。如果用户名错误或者密码错误,就将页面转到result.jsp中,并给出提示信息。 图15 登录请求 3.5.3 注册及验证模块 用户使用注册页面register.jsp的过程中,每输入完一项,客户端会把数据发送到Check(图16)中进行检查,检查结果将以XML格式发回客户端,并立即显示出来。当用户将数据输入完毕,点击注册按钮以后,请求被发送到RegAction(图17)中,进行数据库插入操作,如果插入成功,将页面转到注册成功页面(图12)。 图16 注册效验 第 15 页 共 27 页 图17 注册动作 3.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脚本将数据填充到输入框中。 第 16 页 共 27 页 3.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; 第 17 页 共 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文档: 第 18 页 共 27 页 图22 转换成PDF文档 将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(); 第 19 页 共 27 页 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))); 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); 第 20 页 共 27 页 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()); } } 3.6 XSLT模板 本系统两种文档的生成,都是建立在模板的基础上,此模板为XSLT文件,遵循XSLT1.0标准。 3.7 XSLT简介 XSLT是由XSL(Extensible Stylesheet Language)发展而来的,XSLT是一种基于XML的语言,用于将一类XML文档转换成另一种XML文档。 如果是一个熟悉XML编程的开发人员,他可以自己手工编写自己的XSLT文件,但是对用户来说,要求太高,因此,我们使用了软件Altova StyleVision来进行辅助设计XSLT模板。它使用所见即所得的方式来进行编写,首先在Design窗口(图24)中进行排版与设计,可以在RTF Preview 窗口(图25)预览转换生成的rtf文档,或点击PDF Preview生成PDF模板进行预览。 第 21 页 共 27 页 图24 模板编辑 第 22 页 共 27 页 图25 模板预览 当设计完成以后,即可导出生成RTF的XSLT文件和生成PDF的XSLT文件。 3.8 web.xml文件的配置 在Servlet启动时将读入web.xml文件中的初始化参数,在本系统中用于数据库的连接和XSLT模板的存放路径以及用户数据的存放路径实现可配置性。 fileDir d:/data/data/ 这里配置用户数据的存放路径 confDir d:/data/conf/ 这里配置XSLT模板的存放路径 DBDriver 第 23 页 共 27 页 org.gjt.mm.mysql.Driver 这里配置数据库的连接驱动 ConnStr jdbc:mysql://127.0.0.1:3306/graduate?useUnicode=tru e&characterEncoding=GB2312 这里配置数据库的连接字符串 MyUser ydlover 这里配置数据库的用户名 MyPassword ydl2008 这里配置数据库的密码 rtfXsltFile rtf.xslt 这里配置rtf转换模板的文件名 pdfXslFile pdf.xsl 这里配置pdf转换模板的文件名 第 24 页 共 27 页 结 论 经过这段时间的紧张工作,我已经完成了论文格式化系统基本功能的设计和实现。系统实现了用户注册及登陆,文档内容的上传和记录还原,完成了核心功能文档格式化。制作完成了用于生成RTF文档和PDF文档的XSLT转换模板。 因为时间上的限制,只实现了实验性质的系统,要达到商用化程度,还有做很多工作。例如: ? 本系统对用户权限未分级,只有简单的功能,还没有提供用户管理以及模板管理的后台功能; ? 模板只是做了概念性质的设计,远没达到实用化地步,比如个别字体的大小, 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 的宽度等等,都没有仔细设计; ? 数据库连接未使用连接池,对用户数庞大的应用效率会不是很高。 改进 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 实现用户分级,增加管理后台; ? ? 详细设计实用化的模板,满足商业需求; ? 配置数据库连接池。 参考文献 [1] 林上杰,林康司.JSP 2.0技术手册[M].北京:电子工业出版社,2005。 [2] 汪孝宜,刘中兵 等.JSP数据库开发实例精粹[M].北京:电子工业出版社,2005。 [3] 黄浩文,黄静舒.JSP核心技术和电子商务应用实例[M].北京:机械工业出版社,2001。 [4] 耿祥义,张跃平.JAVA2实用教程[M].北京:清华大学出版,2003。 [5] Fabio Arciniegas.XML开发指南[M].北京:清华大学出版社,2003。 [6] Tom Myers,Alexander Nakhimovsky.Java XML编程指南.北京:电子工业出版社,2001。 第 25 页 共 27 页 致 谢 本文是在高宏宇老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢~ 感谢高宏宇在课题研究初期给予的帮助,在肖磊的帮助下课题才得以很好的展开,有了一个很好的开端~感谢肖磊同学在问卷调查中给予的帮助,因为他们的协助,才得以高效率的完成了所有问卷调查,获取了珍贵的数据资料~ 在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意~ 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢~ 姓 名:余栋梁 性别: 男 出生年月:1986年10月13日 民族: 汉 E-mail:ydlover@hotmail.com 第 26 页 共 27 页 声 明 本论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。 关于学位论文使用权和研究成果知识产权的说明: 本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。 (5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。 除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明~ 作者签名: 年 月 日 第 27 页 共 27 页 第 28 页 共 27 页 第 29 页 共 27 页 第 30 页 共 27 页 第 31 页 共 27 页 第 32 页 共 27 页 第 33 页 共 27 页 第 34 页 共 27 页 第 35 页 共 27 页 第 36 页 共 27 页 第 37 页 共 27 页
本文档为【论文格式化系统_—后台模块的设计与实现—免费毕业设计论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:323KB
软件:Word
页数:0
分类:工学
上传时间:2017-12-09
浏览量:34