php格式化系统前台的设计与实现源代码_第1页
php格式化系统前台的设计与实现源代码_第2页
php格式化系统前台的设计与实现源代码_第3页
php格式化系统前台的设计与实现源代码_第4页
php格式化系统前台的设计与实现源代码_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 JSP 的格式化系统摘要随着时代的发展,社会的进步,世界进入了科技高度发达的阶段,人们的生活更加的信息化,办公的方式更加的智能化,办公的效率也随着科技的发展而提高。本系统的设计初衷就是为了解决书写格式的规范与统计,方便学者格式的自动转换,不用在费心思去编辑 word 文档或者 PDF 文档,争取了时间,而且本系统的一大特点就是他是一个基于web 的B/S 系统,客户端不需要安装任何软件,只需要一个 IE 浏览器就可以本系统提供的服务,极大的方便了用户。本系统是基于 Java的 Web 应用程序。采用 Jsp 作为开发语言,html 和javascript 作为前台开发语言,特点。5.0数

2、据库,系统具有稳定性高、可移植性强等通过开文格式转换系统我学习到很多新的知识,以前不了解 JSP,现在多 JSP 也有了的了解,以前 javascript 的应用还是很初级的阶段,现在可以较为熟练的编写程序,对 DOM 文档的操作比较熟悉了,也应用到了一点 Ajax 技术,并且体会到了团队的合作需要时间来磨合,需要的交流,交流中进步。:Java;Javascript;Dom.Xml;Rtf;Pdf;B/S;格式转换; MVCThe RTF and PDF ConvterAbstractrovides a very flexible way to translate your tutorialT

3、he RTF and PDF converto RTF or PDF,and it is a online web based software.You just click abotton to submit your title,chapters and other content of your tutorial then system will convte the submit content to RTF or PDF automaticly.This system is based on Java the platform Web application procedure. U

4、ses Jspto take the onstage development language,5.0 makes the backstage database.Apache Tomcat5.5 makes the web server.The system has the characteristic of high stability ,strong probability and so on.Key words: Java; Javascript,jsp,convter,rtf,pdf,dom,xml目录总页数:页基于 JSP 的格式化系统引言随着时代的向前推进,社会的不断发展,信息时代

5、的来临,人们的工作和生活发生着日新月异的变化,人们用自己的智慧和勤劳的双手推动了科技的进步和社会文明的发展,使人们的生活更加丰富多彩,工作更加紧张而有序。在人们繁忙的工作环境中,很多资料文件都要形成规范化的文档便于分类和存放,信息化的社会已经将以前手工抄写文档全部用电脑办公提供的的文档编辑软件所取代,当然所编写的文档的格式也是化的,包括文档中内容的字体,字号,标记,页码等等都是的。比如微软公司的 Word 文档格式,这种格式已经成为了世界的一种标准,全世界通用,再比如 Adobe 公司的 PDF 文档格式,也是一种世界标准,是人们常用的一种文档格式。然而在日常的办公中,人们需要在文档编辑软件中

6、编辑文档,需要花费大量的时间和精力来编辑文档的格式,比如字体,字号等等,对于同一类的文档来说,格式都是规范化好了的,但是文档编辑器不可能提供每一个规范好了的模板,因为各个地区或者企业他都有自己的规范,人们需要自己去编辑,这样话就降低了办公的效率,对于个人和企业来说都是在浪费时间,提高了成本。于是聪明的人开始想办法解决这个问题,新的软件由此产生了,涌现出了很多的 PDF,Word 文档的转换软件,他们很强大,不仅可以将 PDF转换为 Word,也可以将 Word 转换成 PDF 格式,有的也可以转换其他格式的文档,比如将 Html文档转化成 PDF 文档。考虑到高等学府中教师,学生也要写,而且所

7、写的要保存为特定格式的文档,保证的规范化,为此,设计了一套系统专门提供给毕业生将转化为规范的格式,省去大量的来巨大的方便。编辑时间,提高的效率,降低修改的频率,给带系统定位于 B/S 模式,主要考虑到系统易用性,客户机只需要安装了 IE 浏览器就可以通过的形式使用格式化系统,只是本系大优势。本系统采用 JSP 开发, 前台采用 javascript 和 html 开发, 服务器环境采用windowsNT+Apache Tomcat+和 DreamwearMX。开发工具使用 Eclipse,前台开发工具使用 EditPlus1 系统概述系统用于辅助大学毕业生写作,给学生提供的文档规范格式化,基于

8、web 使用B/S 模式开发,客户机不需要安装任何客户端软件就可以直接通过 IE 浏览器系统,方便了用户的使用,用户不需要为文档,一种 RTF 格式,一种是 PDF 格式。格式编辑而烦恼。系统可以转换两种格式的系统大的面转换程序采用 java 语言开发,充分利用了 java 移植性强的特点,和 java 强象编程的特性。系统采用 XML 文件来数据,减少了数据库的开销,提高了系统的性能,XML 也是系统的必需。系统的使用主要是采用表单提交的方式,用户需要用 IE 浏览器先站点,将内容,标题,章节等填入表单,然后点击提交并选择要转换的格式就可以生成规范的 RTF 文档或者是 PDF 文档,然后用

9、户可以保存。用户可以修改,登陆后提取自己的原来提交的历史就可以台自动还原表单。然后修改重新提交并转换文档。2格式化系统总体设计2.1格式化系统的需求分析1、功能需求支持用户支持用户登录支持用户取回支持用户上传支持用户转换成 word 文档支持用户转换成 pdf 文档支持可配置性,便于移植2、性能需求一个用户不能看到其他用户的充分考虑易用性和实用性。软件应该以B/S 架构,界面简单易用。3、UseCase 图(图 1 系统 UseCase 图)2.2格式化系统选型对系统设计语言、数据库的选择直接影响到系统在各种上运行时性能的好坏,对日后系统性能的扩展具有决定性的作用。因此,系统选型。格式化系统在

10、设计初期做了详细的2.2.1 设计语言的选择1、JavaServJSP(JAVA Servage 概述age)是由Sun 公司于 1999 年 6 月推出的新技术,是基于 JAVA Servlet以及整个JAVA 体系的Web 开发技术,能够实现跨和兼容各种 Web 服务器产品,而且还能够把强大的Java 服务器应用技术(Server-side Java Technology)有机的融合到 HTML网页中去。它是结合 markup(HTML 或 XML)和 JAVA 代码来处理的一种动态页面。每一页第一次被调用时,通过JSP 引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译

11、过的Servlet。JSP 提供了多种方式Java class、Servlet、Applets 和 Web Server,因此,Web 应用的功能可以分成多个明确定义功用接口的组件,通过 JSP 将它们结合在一起。这种模式允许工作分成两部分:组件开发与页面设计和编译(结合一些方法调用)。在这种应用编译模式,使得业务逻辑和数据处理分开。2、JSP 与JSP 与的比较技术非常相似,两者都提供在HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。并且双方都能够为程序员提供组件设计的功能,(使用COM 组件、JSP 使用 Java Bean 组件)。两者都是面向 Web 服务器的技术,

12、客户端浏览器不需要任何附加的软件支持。两者之间主要的区别:和服务器的选择技术是世界上最成功开源项目之一,最初主要是在 Linux 操作上运行,后来随着技术的发展和成熟出现了 windows 版本,可用在 Windows 2000、Windows XP 和 Windows2003,并且搭配其 WEB 服务器 IIS,当然主要用在 Apache 服务器上,其支持的数据库也涵盖了世界几乎所有的数据库。JSP 技术主要运行在操作系统上的一个 Java Virtual Machine 虚拟机器上,因此,它能够所有的。并且能够搭配现有的 WEB 服务器:Apache 、IIS、Tomcat 等等。因的表现

13、比 ASP 来得更有弹性。此,JSP 技术在跨语法结构两者都使用相同的标记符号作为程序的区段范围。不同的是,标记符号之间 ASP 使用JavaScript 和 VBScript 语言,而 JSP 使用 Java 语言,Java 是有严格规划、强大且易扩充的语言,且提供强大的异常事件处理机制。远优于 VBScript 语言。语法的延展性ASP 与 JSP 都是使用和 Scripting Language 来制作动态 WEB 网页,JSP 能够让程序员的扩展 JSP来应用,所以程序员能充分的利用与 XML 兼容的技术强大的功能,大大的减低了对 Java 语法的依赖,并且也可以利用 XML 强大的功

14、能,做到数据、文件格式的标准化。执行性能JSP 除了在一开始加载的时间会比较久之外,之后的表现就远远比 ASP 的表现来得好。原因在于:JSP 在一开始接受到请求时,会产生一份 Servlet 实体(instance),它会先被暂存在内存中,一般称之为持续(Persistence), 当再有相同的请求时,这实体会产生一个线程来服务它,如果过了一段时间都不再用到此实体时,Container 会自动将其,至于时间的长短,通常都可以在 Container 上自行设定。JSP 的执行过程如图 2 所示:(图 2 JSP 的执行过程)而 ASP 在每次接收到请求时,都必须重新编译。因此,JSP 的执行比

15、每次都要编译执行的 ASP 要快,尤其是程序中存在循环操作时,JSP 的速度要快上 1 到 2 倍。综上所述,基于 JSP 语言在多方面的优点,景良好的 JSP 语言。系统在进行编码时采用了发展前2.2.2 数据库的选择本系统的数据库选用的是。首先,它提供了以 Web 标准为基础的扩展数据库编程功能,可支持 Web 的分析,对数据的 Web。其次,它具有良好的移植性,可以移植到几乎所有。最后,它是免费的,极大的节约了成本。2.2.3 开发工具的选择Eclipse 是一个很让人着迷的开发环境,它提供的框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。目前网上流传相当丰富且全面的开发

16、工具方面的插件,但是 Eclipse 已经了开发环境的概念,可以想象 Eclipse 将成为未来的集成4 Response浏览器IENetscap e1 RequestJSPPage23经编译Servlet产生 Servlet的桌面环境。目前的 Eclipse 本身就具备资源管理和外部程序的功能,加上无所不能的插件,将一个丰富多彩的工作环境而不仅仅是一个 IDE。因此,在进行格式化系统编码时选用了 eclipse3.2。前台页面设计,使用了 Dreamweaver MX 2004。2.3 环境搭建2.3.1 安装 jdk在设计格式化系统时使用的是 jdk1.5.0 版本,安装路径为:C: jd

17、k1.5.0,在安装完成之后,进行了以下设置:从【电脑】【属性】【高级】【环境变量】【系统变量】【新建】JAVA_HOME=C: jdk1.5.0PATH=%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%JAVA_H OME%;.;%JAVA_HOME%binCLASSPATH=%JAVA_HOME%bin;.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar2.3.2 安装 Tomcat系统使用的 Tomcat 是 5.5 版本,安装路径为:D:Pro

18、gram FilesApache Software FoundationTomcat 5.5,在安装完成之后,进行了以下设置:TOMCAT_HOME=D:Program FilesApache Software FoundationTomcat 5.5 CATALINA_HOME= D:Program FilesApache Software FoundationTomcat 5.5将%TOMCAT_HOME%commonlibservlet.jar;追加到 CLASSPATH 后。修改后:CLASSPATH=%JAVA_HOME%bin;.;%JAVA_HOME%lib;%JAVA_HOME

19、%libdt.jar;%JAVA_HOME%libtools.jar;%TOMCAT_HOME%commonlibservlet.jar2.3.3 安装去windows 下的二进制安装包,完成后默认安装就可以了2.3.4 安装 JDBC 驱动程序:在5.0.18 版本对应的jdbc 驱动程序jar 包,将其放入tomcat安装目录的commonlib 下面,或者放入项目的 lib 文件夹下。到此,设计格式化系统的设计环境搭建完成。3格式化系统详细设计3.1 系统功能模块和结构设计在本系统中,角色只有用户一种,用户只有登录以后才具有各个操作的权限。该系统的功能模块如图 3 所示:在下面的功能模块

20、和结构图的树状结构中,每一个结点都是一个功能模块。(图 3格式化系统功能模块图)格式化系统主架构采用界面中间件数据库这样的三层结构。如图 4 所示:(图 4格式化系统结构图)3.2 设计前台使用 JavaScript 和 JSP 与用户进行交互,并结合 Ajax 技术,给使用者更好的用户体验。使用 JSP+ Servlet,使用 JSP 处理业务逻辑,Servlet 来处理数据逻辑,实现了良好的分层结构,便于扩展和。客户端(javaScript+html)中间件(JSP+Servlet)数据库(5.0)业务逻辑数据逻辑用户界面还原修改上传记录生成pdf 文档生成word 文档查看记录填写文档登

21、录注册用户3.3 数据库设计3.3.1 数据库需求分析本系统仅仅需要简单的用户管理,提供用户的到服务器上的数据。,用户的登录,以及保存用户上传3.3.2 数据库实体关系设计通过以上的需求分析,设计出数据库的逻辑结构ER 图,从这种逻辑结构有可以建立数据库的物理结构即表结构。根据需求设计出两个数据表,分别是:用户信息表(user),用户表(record)其结构及关系如图 5 所示。(图 5 数据库实体关系图)3.3.3 数据库逻辑设计确定了数据库的逻辑关系和数据结构之后,进一步将以上所述的八个数据表由概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。表 31 所示为用户信息表

22、(user),了用户的信息。(表 31 user)列名数据类型长度Id(主键)11userName11passwordvarchar20nicknamevarchar20表 32 所示为历史表(record),了使用该系统的企业内部(表 32 record)的信息。其中 record 表的 userId 与 user 表的id 关联。列名数据类型长度id (主键)11userId11recordPathvarchar40recordDatedatetimevarchar20realnamevarchar20sexvarchar20provincevarchar20cityvarchar20bi

23、rthdayvarchar20regTimedatetime3.4 前台界面的设计3.4.1 首页的设计(图 6 首页)当用户第一次打开本系统的时候首先进入的将是此页面,很简介的界面,浅显易懂,已经有帐号的用户可以单击“登录”按钮,将转入登录界面(图 7),进行登录3.4.2 登录页面的设计(图 7 登录页面)3.4.3 用户不存在页面的设计输入用户名和即可点登录,如果用户不存在将转入用户不存在页面(图 8)(图 8)3.4.4错误页面的设计如果错误,将进入错误页面(图 9)(图 9)3.4.5 登录成功页面的设计用户名和都正确的话,将进入登录成功页面(图 10)(图 10)然后可以直接提取保

24、存的或者直接进入首页进行文档内容的输入。3.4.6页面的设计如果用户第一次使用本系统,那么将进入页面一个帐号才能使用,页面使用了 Ajax 技术进行数据的验证,比如用户名是否已经存在或者用户邮箱重复,可以不提交,只要输入完,鼠标点击另一行,验证结果就会显示在右边(如图 11)(图 11)3.4.7 成功页面的设计当用户成功将转到成功页面(图 12)(图 12)3.4.8 提取或显示页面的设计当用户登录以后可以进入提取或显示的页面,进行提取或者转换文档的操作(图 13)(图 13)3.5的编写3.5.1 数据库操作模块本系统中,所有连接数据库进行操作,均使用一个 DbConnBean 类(图 1

25、4),每当要使用数据库之前,需要初始化此类例如:data.DbConnBean con = new data.DbConnBean(DBDriver, ConnStr, MyUser,MyPassword);其中输入参数分别是驱动类型,连接字符串,用户名,。然后使用 DbConnBean 对象 con进行数据库的操作,DbConnBean 中四个函数,对应数据库的四种操作,只需要传入 SQL 语句,即可进行操作。public ResultSet executeQuery(String sql)函数,它是数据库查询操作,返回一个结果集,如果此操作有异常发生,将打印在控制台或输出到日志文件;pub

26、lic void executeUpdate(String sql)函数,它是数据更新操作,无返回值,如果此操作有异常发生,将打印在控制台或输出到日志文件;publicexecuteInsert(String sql)函数,它是数据操作成功返回 true,失败返回 false,如果此操作有异常发生,将打印在控制台或输出到日志文件;publicexecuteDelete(String sql)函数,它是数据删除操作,删除成功返回 true,失败返回 false, 如果此操作有异常发生,将打印在控制台或输出到日志文件;(图 14)3.5.2 用户登录模块用户的登录请求将被发送到 LoginActi

27、on 页面(图 15),用户名和将作为参数一起发是否正确,如果正确送。LoginAction 接受用户名和,并查询数据库判断用户名和就创建会话,并设置会话属性,页面转到 index.jsp 中。如果用户名错误或者就将页面转到 result.jsp 中,并给出提示信息。错误,(图 15)3.5.3用户使用及验证模块页面 register.jsp 的过程中,每输入完一项,客户端会把数据发送到 Check(图 16)中进行检查,检查结果将以 XML 格式发回客户端,并立即显示出来。当用户将数据输入完毕,点击按钮以后,请求被发送到 RegAction(图17)中,进行数据库操作,如果成功,将页面转到成

28、功页面(图 12)。(图 16)(图 17)3.5.4上传与模块当用户在首页点击提交按钮的时候,客户端的数据将以 XML 形式被组织起来发往 Upload(图 18),Upload 再调用 FilePros(图 19)对象的 publicfileSave(bytedata, String name,String dir)函数将数据保存到服务器上,保存成功就将写入数据库,否则提示用户提交失败。的文件名(图 18)(图 19)”的时候,此请求将被发送到 index.jsp,index.jsp 根据接收的当用户点击“提取文件名参数调用 FilePros(图 19)的 public byte file

29、Down(String path)函数将以 XML 形式到客户端,客户端使用 javaScript将数据填充到输入框中。3.5.5 文档转换模块当用户点击“转换成 word 文档”或者“转换成 pdf 文档”的时候,请求将被发送到action.Conver对象 data. Conver(图 20)中,action.Conver根据需要转换类型再调用相应的转换Doc(图 21)或者 data. ConverPdf(图 22)进行转换。(图 20)转换成 word 文档:(图 21)将 XML 文档转换成 word 支持的 rtf 格式,使用了 javax.xml.transform 的 tran

30、sform()函数,使用 xml 文件和 xslt 模板做输入,输出为 rtf 格式的文档,并以流的形式发送到客户端,让用户,代码如下:public void conver() throws IOException / TODO 自动生成方法存根response.setContentType(Application/msword; charset=UTF-8);response.setHeader(Content-Disition, attaent; filename=+newFilename(fileName);OutputStream out=response.getOutputStrea

31、m();StreamSourr=new StreamSource(new File(fileDir+fileName);StreamResult rs=new StreamResult(out);TransformerFactory factory=TransformerFactory.newInstance(); Templates tempXsl=null;trytempXsl=factory.newTemplates(new StreamSource(new File(confDir+xslt); Transformer tf=tempXsl.newTransformer();tf.tr

32、ansform(sr, rs);out.flush();olose();catch(TransformerConfigurationException e)System.out.prln(xslt 严重配置错误:+e.getMessage();olose();out=null;catch(TransformerException te)System.out.prln(转换过程发生异常:+te.getMessage();olose();out=null;转换成 pdf 文档:(图 22)(图 23)将 XML 文档转换成 pdf 格式,使用了开源项目 Apache FOP 来进行转换,要得到 p

33、df 文档,需要两步(图 23):用 XSLT 样式表将 XML 文档转换为由 XSL-FO 元素用调用 XSLT 处理器。用某种显示引擎将 XSL-FO 元素转换为 PDF 文件。的文件。要执行这一转换,只需本系统首先使用javax.xml.transform 的 transform()函数,使用 xml 文件和 xslt 模板做输入,输出为 xsl-fo 元素的文档,然后使用 fop 引擎将 xsl-fo 文件转换成用户需要的 pdf 文件,并以流的形式发送到客户端,让用户,源代码如下:Overridepublic void conver() throws IOException / TO

34、DO 自动生成方法存根response.setContentType(Application/msword; charset=UTF-8);response.setHeader(Content-Disition,attaent;filename=+newFilename(fileName); OutputStream out=response.getOutputStream(); byte temp;ByteArrayOutputStream=new ByteArrayOutputStream();StreamSourr = new StreamSource(new File(fileDir+

35、fileName);StreamResult rs = new StreamResult();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

36、); tf.transform(sr, rs); catch (TransformerConfigurationException e) System.out.prln(xslt 严重配置错误: + e.getMessage(); catch (TransformerException te) System.out.prln(fo 生成过程发生异常: + te.getMessage();temp=.toByteArray();/System.out.pr try ln(new String(temp);测试代码Driver driver = new Driver();Logger logger

37、=new ConsoleLogger(ConsoleLogger.LEVEL_INFO); driver.setLogger(logger);.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();o catch olose(); (IOException e) lose();System.out.prln(生成 pdf 发生异常+e.getMessage(); catch (.apache.fop.apps.FOPException e) olose();System.out.prln(生成 pdf 发生异常+e

温馨提示

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

评论

0/150

提交评论