《基于Struts架构的办公自动化系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Struts架构的办公自动化系统毕业论文.doc(83页珍藏版)》请在三一办公上搜索。
1、 基于Struts架构的OA系统的研究与开发2011年11月摘 要随着社会经济的发展,计算机、网络技术的应用已经渗透到企业的日常工作中。传统的办公室管理方式已经不能满足企业对信息的快速传递与处理的需求,而网络办公自动化的应用解决了这一问题,完善企业内部的管理模式,提高了企业内部的管理水平,进而全面得提升了企业在市场竞争中的综合竞争力。办公自动化系统基于网络,提高了企业内部的信息化水平。本文描述了一个办公自动化系统的开发过程,依据面向对象设计的开发思想,利用MVC设计模式,选用浏览器/服务器(B/S)模式搭建,使用Hibernate技术操作数据库,并用Struts完成了系统的最终实现。根据办公自
2、动化的特点,可将系统分为日常管理、考勤管理、计划指定、审核管理、员工管理、通讯管理6个部分。关键词:办公自动化,面向对象,MVC,Struts,Hibernate,B/S目 录第1章 引言1.1办公自动化软件开发的现状当今社会是一个信息飞速发展的社会,因此,针对各行业来说,计算机的应用实为重要,求质量、求速度,尽可能的脱离手工操作,是现代人追求的目标。分析人士指出,在一个企业的运作过程中,交流成本成为了总成本的一个重大构成部分,因此,如何实现快速、有效的交流以降低交流成本成为每个企业所关心的问题。在现代社会中,任何一个行业,任何一个企业,高效准确的办公都是至关重要的。快捷的信息交流,畅通的公文
3、传递,迅速的文档查询,自动的工作流转等等都能提高一个企业的办公效率,进而提高其市场竞争力。图1.1 传统办公模式传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。图1.2 网络化办公模式 现有办公自动化系统中,企业文件流转功能都是核心功能。可以认为,企业办公主要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库表单。传统办公自动化系统和大型MIS系统在处理企业管理流程中大多采用企业业务流程重组(BK
4、R),其核心思想就是要先优化企业业务管理流程,再根据优化后的流程建设企业信息统。这样不仅在系统建设中工作量巨大,同时面临来自企业内部重重的阻碍。要想实现办公自动化,就需要实施计算机管理,所以,开发了这个办公自动化系统,此系统是基于网络的,部署方便,易于维护。1.2本文要做的工作本文的最终目标是要描述建立一个办公自动化系统的过程。系统选用Struts框架,以MVC设计模式作为软件工程方法,并用JAVA语言实现。本文主要做的工作是描述了此办公自动化系统从分析、设计、到实现的主要工作流程,并在最后阐述系统的使用方法。本系统实现的主要功能模块有:公共模块设计、登录模块设计、主界面设计、日常管理模块、考
5、勤管理模块、计划指定模块、审核管理模块、员工管理模块、通讯管理模块。第2章 运用技术及开发工具介绍该办公自动化系统是在MyEclipse 9.0的环境下开发的,以MS SQL Server2005作为后台数据库,Hibernate作为系统的业务逻辑层,JSP页面作为系统的表现层,通过使用Struts实现的MVC机制,来控制整个办公自动化的业务数据流程。本系统是基于WEB的,所以Internet必须成为浏览器和服务器之间的通信媒介, UML架构模型如图2.1所示:图2.1 架构设计图本系统的具体架构是MVC模式,并用Hibernate对JDBC进行简单封装,具体的物理架构如图2.2所示:图2.2
6、 物理架构图2.1 Struts技术简介Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架1。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。虽然仍然需要学习和应用该架构,但它将可以完成其中一些繁重的工作。 Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的
7、优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。2.2 Hibernate技术的应用Hibernate是Java应用和关系数据库之间的桥梁,通过对JDBC的简单封装,使Java程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护。在Java应用中使用Hibernate包含以下步骤:1、
8、 创建Hibernate的配置文件。Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需要的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹classes中。Hibernate能够访问多种关系数据库,如MySql、Oracle、Sybase等。2、 创建持久化类持久化类符合Java Bean的一般规范,可以作为数据实体的对象化表现形式。通常都是数据表所对应的域模型中的实体域类。在编写持久化类时,主要遵循以下原则:a) 为持久化字段声明访问器和是否可变的标志。 持久化类的属性一般都与数据库中相对应表字段一一对应,并包括与之对应的getXXX()、setXXX
9、()、isXXX()方法。如果持久化类的属性为boolean类型,那么可以使用get或is作为get()方法的前缀。b) 实现一个默认的(即无参数的)构造方法。 所有的持久化类都必须有一个默认的构造方法(可以不是public的)。这样Hibernate就可以使用java.lang.reflect.Constructor.newInstance()来实例持久化类。3、 创建对象关系映射文件。Hibernate采用XML格式的文件来指定对象和关系数据之间的映射。在运行时,Hibernate将根据这个映射文件来生成各种SQL语句。在Hibernate中,映射文件通常用.hbm.xml作为后缀名,该文
10、件与持久化类存放在同一目录下。在User.hbm.xml文件的开头声明了DTD(Document Type Definition),它对XML文件的语法和格式做了定义。Hibernate的XML解析器将根据DTD来核对XML文件的语法。4、 构建SessionFactory。Hibernate的SessionFactory接口提供Session类的实例,Session类用于完成对数据库的操作。由于SessionFactory实例是线程安全的( 而Session实例不是线程安全的),所以每个操作都可以共用同一个SessionFactory来获取Session。Hibernate配置文件分为两种格
11、式:一种是XML格式,一种是Java属性文件格式的配置文件。因此构建SessionFactory的也有两种方法,例程01是在配置文件为Hibernate.properties的情况下构建SessionFactory的,如果Hibernate的配置文件为XML格式,只需在配置文件中声明映射文件,在程序中不必调用Configuration类的addClass()方法来加载映射文件,代码如下:SessionFactory sf=new Configuration().configure().buildSessionFactory();5、 Session的创建与关闭。Session是一个轻量型对象,
12、通常将每个Session实例和一个数据库事务绑定,也就是每执行一个数据库事务,都应该先创建一个新的Session实例。2.3 B/S模式介绍及应用2.3.1 什么是B/S模式 浏览器/服务器(B/S)模式又称B/S结构。它是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系2。第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交
13、互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。2.3.2 B/S模式的优缺点 B/S模式简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件3。这样不但可以节省客户机的硬盘空间与内存,
14、而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相
15、对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。最后,B/S特别适用于网上信息发布,使得传
16、统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选,但是它也有不成熟的一面,目前基于B/S模式的应用软件也很缺乏,其最大的缺点是对企业外网环
17、境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。2.4开发工具的选择2.4.1 MyEclipse介绍与应用MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:
18、1 JavaEE模型 2 WEB开发工具 3 EJB开发工具 4 应用程序服务器的连接器 5 JavaEE项目部署服务 6 数据库服务 7 MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。2.4.2 Tomcat介绍Jakarta Tomcat 服务器是一种Servlet/JSP容器。S
19、ervlet是一种运行在支持Java语言的服务器上的组件6。 当客户请求访问某个Servlet时,Servlet容器将创建一个ServletRequrst对象和ServletResponse对象。在ServletRequest对象中封装了客户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给客户所请求的Servlet。Servlet把响应结果写到ServletResponse中,然后由Servlet容器把响应结果传给客户。Servlet容器响应客户请求过程如图2.3所示: 图2.3 Servlet容器响应客户请求过程图第3章 需求分析与系
20、统设计本章描述了此办公自动化系统的需求分析和系统设计,主要对待开发软件进行一般描述和对该软件各功能模块需求进行分析和设计。3.1问题域的一般描述 系统将用户分为2个权限级别:“系统管理员”可对系统中的所有功能进行操作;“普通用户”可对系统中的部分功能进行操作;3.2待开发软件的功能模块需求3.2.1 系统模块功能图开发本软件的目的是为公司办公室提供一个方便快捷的办公平台。经调查分析,本系统应具备的功能模块有:用户登录、会议管理、公告管理、外出登记、请假登记、上下班登记、企业计划指定、部门计划指定、个人计划、发布申请、审核批示、员工添加、员工维护、显示通讯组、增加通讯详细信息。因此,本软件的各个
21、功能划分如图3.1所示。办公自动化管理系统日常管理考勤管理计划指定员工管理审核管理通讯管理会议管理公告管理外出登记请假登记上下班登记企业计划部门计划个人计划发布申请审核批示员工添加员工维护显示通讯组增加通讯详细信息图3.1 系统功能模块图3.2.2 系统模块功能描述1、日常管理日常管理模块包括公告管理、会议管理a.普通用户可以查看公告和会议记录b.系统用户可以对会议、公告进行添加、修改、删除等操作。2、考勤管理考勤管理模块包括外出登记、请假登记、出差登记、上下班登记。a.用户可以进行上下班登记b.用户可以进行外出登记、销假操作c.用户可以进行请假登记、销假操作d.用户可以进行出差登记、销假操作
22、e.系统用户可以查看所有登记信息3、计划指定计划指定模块包括企业计划、部门计划和个人计划的指定。a.企业高管可以进行企业计划的新增、删除、修改操作b.部门管理人员可以进行部门计划的新增、删除、修改操作c.每个用户可以进行个人计划的新增、删除、修改操作d.每个用户都可以查看企业计划、部门计划和个人计划4、审核管理审核管理包括发布申请和审核批示。a.用户可以发布、修改、删除申请信息b.系统用户可以对申请信息审核批示5、员工管理员工管理模块可以进行员工的添加和维护。6、通讯管理通讯管理模块主要负责存储员工的通讯信息。a.员工的通讯信息可以按通讯组分别进行存储b.系统用户可对通讯信息进行新增、修改和删
23、除操作3.2.3 系统其他需求1、错误处理:系统要有一定的容错能力,出现错误及时提醒。2、安全:任何对系统的使用都必须先登录,用户登录时,使用附加码,避免恶意的网络攻击。登录30分钟无任何操作会自动退出,以防被不法分子盗用。3、性能需求:系统对于用户做出的任何请求都要在10秒之内做出响应,做到尽快响应。4、适用性:用Struts作为框架,用JAVA语言实现,服务器可以允许于不同的操作系统之上。5、可靠性:系统要能够持续工作比较长的时间,而且不发生严重错误。6、接口需求:硬件接口:键盘,鼠标,显示器。软件接口:基于网络的办公平台。7、扩展需求:将来要把公司的子公司联入系统,可以实现异地办公。3.
24、3系统数据库设计3.3.1 数据表概要说明 开发系统之前首先要设计数据库,系统数据库的名称为db_work,共14张表,系统所需数据库表如图3.1所示。表3.1 数据库表的设计db_worktb_User用户信息表tb_Meeting会议记录表tb_Placard公告信息表tb_Waichu外出登记信息表tb_Qingjia请假登记信息表tb_Chuchai出差登记信息表tb_Onduty上下班登记信息表tb_Qiye企业计划信息表tb_Bm部门计划信息表tb_Person个人计划信息表tb_Shenhe审核信息表tb_Tongxun通讯组表tb_Tongxunadd通讯信息详细表tb_Men
25、u菜单表3.3.2 数据表的结构1、tb_User表用于保存用户注册的相关数据信息,结构如表3.2所示:表3.2用户信息表(tb_User)字段描述类型idID(主键、自动编号)intuserName用户名varcharpwd密码varcharpurview用户权限varcharbranch用户所在部门varcharjob用户工作varcharsex用户性别varcharemail用户电子邮件varchartel用户电话varcharaddress用户地址varcharbestMan优秀员工int2、tb_Meeting表用于存储会议信息,结构如表3.3所示:表3.3 会议记录表(tb_Mee
26、ting)字段描述类型id主键(自动编号)intMtime会议时间varcharZPerson主持人varcharCPerson出席人varcharsubject会议主题varcharaddress会议地点varcharcontent会议内容varchar3、tb_Placard表用于存公告信息,结构如表3.4所示:表3.4公告记录表(tb_Placard)字段描述类型id主键(自动编号)intperson公告人varcharsubject公告主题varcharDDate公告时间dateTimecontent公告内容varchar4、tb_Waichu表用于存储员工的外出信息,结构如表3.5所
27、示:表3.5外出记录表(tb_Waichu)字段描述类型id主键(自动编号)intname1外出人varchardepartment外出人所在部门varcharcontent外出原因varchartime1外出时间dateTimetime2预计回归时间dateTimedate是否回归varchar5、tb_Qingjia表用于存储请假登记的信息,结构如表3.6所示:表3.6 请假登记信息表(tb_Qingjia)字段描述类型id主键(自动编号)intname1请假人varchardepartment请假人所在部门varcharcontent请假原因varchartime1请假时间datetim
28、etime2预计回归时间datetimestate是否回归int6、tb_Chuchai表用于存储出差登记的信息,结构如表3.7所示:表3.7 出差登记信息表(tb_Chuchai)字段描述类型id主键(自动编号)intchuarea出差地点varchartime1出差时间datetimetime2预计回归时间datetimename1出差人varchardepartment出差人所在部门varcharstate是否回归int7、tb_Onduty表用于存储上下班的登记信息,结构如表3.8所示:表3.8上下班记录表(tb_Onduty)字段描述类型id主键(自动编号)intname1登记人va
29、rchardepartment登记人所在部门varcharenroltype登记类型varchartdefintime规定时间varcharenrolremark登记备注varcharstate登记总结varchar8、tb_Qiye表用于存储企业计划的信息,结构如表3.9所示:表3.9 企业计划信息表(tb_Qiye)字段描述类型id主键(自动编号)intriqi企业计划时间datetimetitle企业计划题目varcharcontent企业计划内容varcharname1企业计划人varchar9、tb_Bm表用于存储部门计划的信息,结构如表3.10所示:表3.10 部门计划信息表(tb
30、_Bm)字段描述类型id主键(自动编号)intname1部门计划人varchartitle部门计划题目varcharcontent部门计划内容varchartime1部门计划时间dateTime10、tb_Person表用于存储个人计划的信息,结构如表3.11所示:表3.11 个人计划信息表(tb_Person)字段描述类型id主键(自动编号)intname1计划人varchartitlet个人计划题目varcharcontent个人计划内容varchartime1个人计划时间datetime11、tb_Shenhe表用于存储申请审核的信息,结构如表3.12所示:表3.12 审核信息表(tb_
31、Shenhe)字段描述类型id主键(自动编号)inttitle审核主题varcharcontent审核内容varchartime1审核时间datetimeshen审核是否成功int12、tb_Tongxun表用于存储通讯组的信息,结构如表3.13所示:表3.13 通讯组表(tb_Tongxun)字段描述类型id主键(自动编号)intname1员工姓名varchar13、tb_Tongxunadd表用于存储员工的通讯信息,结构如表3.14所示: 表3.14 通讯详细信息表(tb_Tongxunadd)字段描述类型id主键(自动编号)intname11员工姓名varcharbirthday员工生日
32、dateTimesex员工性别varcharhy婚否varchardw所属单位varchardepartment所属部门varcharzw职务varcharsf省份varcharcs城市varcharphone办公电话varcharphone1移动电话varcharemial电子邮箱varcharpostcode邮政编码varcharQQQQ号码varcharfamily家庭电话varcharaddress家庭住址varcharremark备注varcharname1通讯组int14、tb_Menu表用于主页面显示的主菜单和子菜单,结构如表3.15所示:表3.15菜单表(tb_Menu)字段描
33、述类型id主键(自动编号)intmodeId按主菜单分类intmenuName子菜单项varcharlinkUrl超链接地址varchar第4章 系统详细设计本章将对系统进行详细设计,重点介绍各功能模块的设计过程。4.1公共类的编写在开发过程中,常会用到一些公共类,如Hibernate配置文件、Struts配置文件、Session的管理类等,编写公用类的好处是,可以是程序的代码更加工整,增强代码的重用性,还有利于程序的维护。下面逐一介绍各个公共类。4.1.1 Hibernate配置文件的编写Hibernate从其配置文件中读取和数据库连接有关的信息,Hibernate的配置文件有两种形式:一种
34、是XML格式的配置文件,另一种是办公自动化管理系统采用的Hibernate默认的Java属性文件格式,配置文件名称为Hibernate.properties,其基本格式如下:hibernate.dialect=org.hibernate.dialect.SQLServerDialecthibernate.connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriverhibernate.connection.url=jdbc:sqlserver:/localhost:1433;databaseName=db_workhib
35、ernate.connection.username=sahibernate.connection.password=123hibernate.show_sql=truehibernate.hbm2ddl.auto=none4.1.2 Session管理类的编写 (1)定义GetHibernate类,将其保存在com.hiernate.util包中,并编写获得SessionFactory的代码,同时导入所需要的类包,代码如下:package com.hiernate.util; /将类建在com.hibernate.util包下import org.hibernate.Session; /导入
36、org.hibernate.Session类import org.hibernate.SessionFactory; /导入org.hibernate.SessionFactory类import org.hibernate.cfg.Configuration; /导入org.hibernate.cfg.Configuration类import com.hiernate.persistence.Bm; /导入com.hiernate.persistence.Bm类public class GetHibernate private static SessionFactory sf = null;/
37、创建SessionFactory实例static try Configuration conf = new Configuration().addClass(User.class).addClass(Menu.class).addClass(Meeting.class).addClass(Placard.class).addClass(Waichu.class).addClass(Qingjia.class).addClass(Chuchai.class).addClass(Onduty.class).addClass(Qiye.class).addClass(Bm.class).addCla
38、ss(Person.class).addClass(Shenhe.class).addClass(TongXunAdd.class).addClass(Tongxun.class); sf = conf.buildSessionFactory(); catch (Exception e) e.printStackTrace();(2)编写打开Session的方法openSession(),代码如下:public Session openSession()/以Session为返回值创建打开Session方法Session session = sf.openSession(); /SessionF
39、actory的openSession()方法获得Session实例 return session;(3)编写关闭Session的方法closeSession(),代码如下:public void closeSession(Session session) /创建关闭Session方法,参数为Session实例 if(session != null) /close()方法关闭session session.close(); 4.1.3 获得日期和时间类的编写获得日期和时间类主要包括获得系统日期、获得系统日期和时间。该类的关键代码如下:package com.hiernate.util; /将该类
40、保存在com.hibernate.util包下import java.text.DateFormat;/导入java.text.DateFormat类import java.text.ParseException;/导入java.text.ParseException类import java.text.SimpleDateFormat;/导入java.text.SimpleDateFormat类import java.util.Calendar;/导入java.util.Calendar类import java.util.Date;/导入java.util.Date类public class
41、GetTime /判断date1是否在date2之前public static boolean isDateBefore(String date1,String date) boolean b = true;/根据该方法的返回值设置变量DateFormat df = DateFormat.getDateTimeInstance(); /获得时间格式,为系统默认的格式 try b=df.parse(date1).before(df.parse(date); /判断date1是否在date2之前 catch (ParseException e) e.printStackTrace();return
42、 b;/编写获得系统日期的方法public static Date getDate()/以Date对象为返回值创建getDate()方法Date dateU = new Date(); /创建Date类对象java.sql.Date date= new java.sql.Date(dateU.getTime(); /getTime()方法可得到当前系统的日期 return date;/编写获得日期和时间的方法public static String getDateTime()/该方法返回值为String类型SimpleDateForma format; /simpleDateFormat类使得
43、可以选择任何用户定义的日期-时间格式的模式Date date = null;Calendar myDate = Calendar.getInstance(); /Calendar 的方法 getInstance,以获得此类型的一个通用的对象myDate.setTime(new java.util.Date(); /使用给定的Date设置此Calendar的时间date = myDate.getTime(); /返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象format = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); /设置时间格式为:年、月、日、时、分、秒String strRtn = format.format(date); /将给定的 Date 格式化为日期/时间字符串,并将结果赋值给给定的 Stringreturn strRtn; 4.1.4 字符串处理过滤器本系统中字符处理类为MyFilter,该类实现了Filter接口,Filter接口中有init()、destory()、do