改4月22日基于J2EE架构的税务管理系统设计与实现_第1页
改4月22日基于J2EE架构的税务管理系统设计与实现_第2页
改4月22日基于J2EE架构的税务管理系统设计与实现_第3页
改4月22日基于J2EE架构的税务管理系统设计与实现_第4页
改4月22日基于J2EE架构的税务管理系统设计与实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

、税务是现今社会的重要工作之一,税务部门工作繁琐数据量大、工作、JSP+Servlet+Javabean+Mysql+Tomcat:税务;税务管理;税务信息Taxationisoneoftheimportantworkofmodernsociety,thetaxdepartmentcumbersome,taxdatacapacity,efficiencyisnothigh,thedatainformationexchangefortaxandotherissuesofpoormanagementcauseddifficulties.Withthecontinuousdevelopmentofinformationtechnology,theextensiveapplicationofinformationtechnology,thetaxaregraduallyconstructionofinformation,throughthetaxadministrationsystemmanagementcanimproveworkefficiency,andfacilitatetheexchangeofinformationbetweenthetaxauthorities.Themainfunctionofthetaxsystemforunifieddatamanagement,taxdataobjectsasthecoreprocessingsystem,usingJSP+Servlet+Javabean+Mysql+Tomcatcombinationofdevelopmenttools,lightweightandeasytouse,efficientandflexible.Thispaperdescribesthesystemdevelopmentbackground,projectobjectivesandprojectsignificance,anddescribesthedevelopmentofrelatedused,onthebasisofysisofthefeasibilityoftheprojectandthesystemneeds,andspecificmodulesindetaildesign,andultimayberealization,thetextontheachievementofspecificmoduleswereintroducedindetail.Attheendofthearticleforasummaryofthiswriting,thesystemyzestheadvantagesand Thesystemfunctionsaredividedinto:theroleofrightsmanagement,datamaintenance,datalogicprocessing,dataoutput. passesavarietyofdata,ensuredataintegritywithinthesystemlogic,andmoreefficientmanagementoftaxdata,improvetheefficiencyofthetaxsystem.:Tax;Taxadministration;Tax第1章引 系统背景及内 系统现状和发展趋 系统目 项目的意 本文结 第2章相关技术介 Javascript技 JSP技 Ajax技 MySql技 Struts2框 本章小 第3章系统分 可行性分 系统用户分 系统业务流程分 企业信息管理模块流 预算科目管理模块流 征管部门管理模块流 报表生成模块流 系统的主要功能分 其它需 本章小 第4章系统设 系统体系架构设 系统功能设 纳税企业管理功能设 预算科目管理功能设 报表生成模块功能设 征管部门管理功能设 系统数据库设 本章小 第5章系统实 主界面设计实 分页技术的实 报表生成功能的实 纳税企业管理功能实 综合管理功能实 预算科目管理功能实 征管部门管理功能实 数据管理功能实 本章小 第6章总结和展 工作成 个人总 展 参考文 致 1章引著我务信息化建设已经走过20多年的历程,特别是自20世纪90年代数据,并生成Excel文件,导出。系统可对数据进行梳理,使数据组织合理,冗平台较低,已难以适应是税务信息化建设进程中亟待解决的问题征管部门管理、数据管理、数据查询、报表生成、文件上传等13个功能,采用IPO(即输入一处理一输出图)的形式。归属地管理、报表生成等部分模块:个和批量,批量增加通过上传Excel文件实现,因系统逻辑数据完整性,当企业单个和批量,批量增加通过上传Excel文件实现。归属地管理:所属地区的税务主管单位归属加快税务信息化建设。在税务信息化的推进过程中,各地按照国家税务本主要叙述的是本人负责的用户管理、角色权限管理、数据文件上传、2章相关技术介(DAO,数据的持久化操作。控制层采用Servlet实现,视图层采用JSP+Javascript技术实现。JSPHTTPServletAjax技术,实现客户端与服务端的交互。下面几小节将对其中关键vSripttpeLiveScrit端语言主要目的是为了解决服务器端语言,比如Prl28.8kbptspevigator加入了vSriptvSript是一种基于对象和驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的语言,常用来给HTML页添加动态功能比如响应用户的它最初由网景公司的rndnEichvSriptSunEma国际以vSript为基础制定了Eript标准vSriptJavaScriptNetscape公司在最初将其语言命名为LiveScript。在Netscape在与Sun合作之后将其改名为JavaScriptJavaScript最初受JavaJava自Java。但JavaScript的主要设计原则源自Self和Scheme.JavaScriptJava称上的近似,是当时网景为了考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的语言。为了互用性,Ecma国际(前身为欧洲计算机制造商)创建了ECMA-262标准(ECMAScript。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的语目前JavaScript的版本为1.9版JSPSunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准在传统的网页HTML(*.htm*.html中加入Java程序片(Scriptlet)和JSP,就构成了JSP网页java程序片段可以数据库、重新定向网页以及发送E-mail等,实现建立站所需要的功能。所有程序操作都在服务器的要求,即使客户浏览器端不支持Java,也可以JSP网页。SPjavarvrpgeSrvlet设计,他实现了Htmljava扩张(以<%,%>形式。SP与Srvlet一样,是在服务器端HTML能浏览b服务器在遇到SP网页的请求时首先执行其中的程序段然后将执行结果连同SPTL代码一起返回给客户端。插入的va程序段可以操作数据库、重新定向网页等,以实现建立页所需要的功能。JSP技术使用Java编程语言编写类XML的tagsscriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets存在于服务端的资源的计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSPHTMLJava户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServletJSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强Web应用程序的技术。通过AjaxJavaScript可使用JavaScript的XMLHttpRequestJavaScript可Web服务器交换数据。AjaxWeb服务器之(HTTP请求AjaxWeb服务器软件的浏览器技术。AjaxWeb标准:JavaScriptXMLHTMLCSSAjaxWeb标准已被良好定义,并AjaxAjax,因特网应用程序可以变得Ajax基web标准(standards-basedpresentation)XHTML+CSS的表示使用DOM(ObjectModel)进行动态显示及交互使用XMLHttpRequest进行异步数据查询、检索使用JavaScript将所有的东西绑定在一DhtmlLAMP,Ajax不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于Ajax的“派生/合成”式 MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二源公司。MySQL是MySQLAB的商标。MySQL使用C和C++编写,并使用了多种编译器进试,保证源代码的可移植、OS/2Wrap、Solaris、Windows等多种操作系统。、为多种编程语言提供了API这些编程语言包括CC++EiffelJavaPerl、PHP、Python、Ruby和Tcl等。支持多线程,充分利用CPU优化的SQLGB2312、BIG5Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBCJDBC虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,衍生出了Struts2而不是Struts1衍生了Struts2.因为Struts2WebWork的升级,了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Struts2的工作原理如图2.1图 Struts2工作原一个请求在Struts2客户端发出一个指向servlet容器的请求(tomcat)这个请求会经过图中的几个过滤器最后会到达FilterDispatcher过滤器过滤器FilterDispatcher是Struts2框架的心脏,在处理用户请求时,它和请求一起相互配合Struts2的底层框架结构。在web容器启动时,Struts2框建的。过滤器会通过询问ActionMapper类来查找请求中需要用到的Action。如果找到需要调用的Action,过滤器会把请求的处理交给Action。Action为Action的对象。Action通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。Action创建一个ActionInvocation的实例。ActionInvocationAction层之下,它表示了Action的执行状态,或者说它控制的Action的执Action实例和所有的Interceptor。根据配置,加载Action相关的所有Interceptor。2.通过ActionInvocation.invoke方法调用Action实现时Interceptor。在调用Action的过程前后,涉及到相tion执行完毕,tionInvotiontrut.xml中的配置找(tion链一个需要被表示的SP或者rkr的模在表示的过程中可以使用Strut2框架中继承的。3章系统分技术可行性:项目以传统的JSP+Servlet+Javabean的方式开发,使用,MYSQL5.5导。经济可行性:服务端为CPU主频大于2GHZ,内存大于2G,网络连接带宽大于2M的服务器。客户端为普通办公用计算机即可,系统开发成本较小, 用户一般工作强度较大,需要系统响应迅速,易于操作。系统未登录不能系统,用户分为管理员和操作员,权限,未登录用户不得系统,普通用户3.13.1管理员:本系统的管理员,可对操作员进行管理,因为税务数据的3.2系统登陆界面进行登录,输入已有的帐号和,与数据库已有数据进行匹配,员可以导出Excel格式数据报表。充、数据查询、修改操作栏,可进行各项操作。3.33.3企业信息管理模块名称、纳税编号(纳税编号只能输入字母和数字、归属在内的企业信息,③④修改企业信息:可对纳税企业代码、纳税企业名称、帐号、 Excel表格添加企业。3.4预算科目管理模块3.5征管部门管理模块①用户登录以后点击添加部门进入界面,按界面提示从键盘输入征管部门②查询或者检索征管部门信息时,界面会显示可选删除已有的征管部门。3.6报表生成模块流称或者预算科目代码可直接生成此预算科目名称或预算科目代码下的纳税信息表,分页显示。界面显示按键,点击可直接导出。excel3.7①②数据的原始形式为用户工作中产生的Excel工作表文件,包括:银行纳税记③ WEB TomcaMYSQL80807X24当系统出现故障时,关闭Tomcat容器软件即停止运行。 用户和管理员通过各自的因特网浏览器系统,实现操作 ①(DAO,DAODAO的实现类的实例,调用实例中DAO的方法进行数据的持久化操作。数据接口如图3.8所示3.83.8②控制层采用Servlet实现,视图层采用JSP+Javascript技术实现。JSP页面利用HTTP通信协议与Servlet通信,进行数据交换。同时,对部分模块采用Ajax4章系统设JSP+Servlet+Javabean的方式进行开发,以轻巧易用,快速高效作为总体要求,采用分层思想构建设计基于J2EE技术将系统设计为角色权限管理数据、13J2EE作为系统的整体架构,MVC(模型-视图-控制)J2EE应用最常采用。MVCWeb应用,尤其是存在大量页面及多次客户和数据显示,J2EE的设计模式对于它有效地分离数据和展示数据功能模块以降低它们之间的耦合度将传统的图4.1MVC输入-处理-b商业应用。C体系结构具有三个层面:模型(odl、视图(ie)和控制(ontrollr)C体系结构如下:的操作。在一个图形界面中,常见的用户输入包括点击按钮和菜单选择Web应用中,它包括对Web层的HTTPGETPOST的请求,控制层可以基于用户 4.2纳税企业管理功能设4.3预算科目管理功能设4.4报表生成模块功能设Excel文件。4.5征管部门管理功能分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。在任何系4.64.6纳税企业表纳税企业表用来纳税企业ID(ENTERPRISE_ID、纳税企业名、(ENTEPIE_NAE4.7、预算科目表和预算科目名称(UDGET_NAME)ID4.8征管部门表(不设具体类征管部门表用来征管部门名称(urssaf)。如表4.1所示字类说征管部门名4.1网络申报数据表I(RECORD_ID(SERIAL_NUMBER4.9直接申报数据表直接申报数据表,用于记录直接手工申报数据信息。申报数据(RECORD_ID(SERIAL_NUMBER4.10退库数据表。I(RECORD_ID(SERIAL_NUMBER4.11。5章系统实登录窗口:图5.1登录窗口,输入帐号和点击登录按钮进行登号和是否记错。5.26①号区域(图中红色圆圈标注的②号区域:显示了您的系统角色(管理员或者操作员;中间为“返回首③号区域“修改”可以进入到修改操作“帮助”仅在正式版中有用,为用户手册的HTML版本,此版本的系统为空白关于系统”链接为系统的信息。⑤号区域为操作导航菜单。所有您可以进行的操作均在此菜单中选择。菜呈树状结构,一次仅能展开一项一级操作。点击作名称,可以打开操同时三角形图标方向改变。注意:只用三角形图形状时,点击变成形状后,操作能被打开。如果图标已经处于形状,则需要单击图标一次,让其恢复到形状再单击才能打开操作。此设计目的为防止用户频繁点击操作而设计思10(或者集合的下标)101页的指针从(2-1)*10+1对于海量的数据查询,看多少取多少,显然是最佳的解决办法。在本统中使用的正是这种方法假如某个表中有200万条记录第一页就取前10条,limit上下两个界的求解。另外因为本系统使用的数据库管理系统为MYSQL分页效后通过页面信息在中算出相应的上下界通过传递相应的上下界查询出我们5.3所示。5.3数据处理和分页用JavaBean,JSP通过JDBCJDBC-ODBCHTML1)代码1:本系统利用DirectQueryDto.java类对分页进行定义封publicclasspublicLinkedList<DirectDto>getDataList(){returndataList;}DirectQueryDtopublicvoidsetDataList(LinkedList<DirectDto>dataList){this.dataList=dataList;}publicIntegergetPageSize(){returnpageSize; publicvoidsetPageSize(IntegerpageSize){this.pageSize=pageSize;}publicIntegergetPageNumber(){returnpageNumber;}publicvoidsetPageNumber(IntegerpageNumber){this.pageNumber=pageNumber; publicIntegergetTotalPage(){returntotalPage;}publicvoidsetTotalPage(IntegertotalPage){this.totalPage=totalPage;}publicIntegergetTotalRecord(){returntotalRecord;}publicvoidsetTotalRecord(IntegertotalRecord){this.totalRecord=totalRecord;}TotalRecord()方法publicStringgetAmountreturnamount;publicvoidsetAmount(Stringamount){this.amount=amount;}publicStringgetAccountDateBegin(){returnaccountDateBegin;}publicvoidsetAccountDateBegin(StringaccountDateBegin){this.accountDateBegin=accountDateBegin;}AccountDateBegin()publicStringgetAccountDateEnd(){returnaccountDateEnd;}publicvoidsetAccountDateEnd(StringaccountDateEnd){this.accountDateEnd=accountDateEnd;}AccountDateEnd()}2)代码2:前台获取封装好的数据,通过table显示分页结果,其<tableclass="ui-pg-table"style="table-layout:auto;"border="0"cellSpacing="0"<tdstyle="cursor:default;"id="first_pager"class="ui-pg-buttonui-corner-<s:iftest="refundQueryDto.pageNumber>1&&refundQueryDto.totalPage>1<spanclass="ui-iconui-icon-seek-first"title="首页"></span><tdstyle="cursor:default;"id="prev_pager"class="ui-pg-buttonui-corner-<s:iftest="refundQueryDto.pageNumber>1&&refundQueryDto.totalPage>1<spanclass="ui-iconui-icon-seek-prev"title="上一页"></span><tdstyle="width:4px;"class="ui-pg-buttonui-state-<spanclass="ui-<td<s:hiddenkey="refundQueryDto.pageNumber"<inputtype="text"id="pageNumber"name="pageNumber"maxlength="7"onkeyup="clearNonInteger(this);gotoPage(this)"value="<s:propertyvalue='refundQueryDto.pageNumber'/>"size="2">&;<spanid="sp_1_pager"><s:propertyvalue="refundQueryDto.totalPage"/></span><tdstyle="width:4px;"class="ui-pg-buttonui-state-<spanclass="ui-<tdstyle="cursor:default;"id="next_pager"class="ui-pg-buttonui-corner-<s:iftest="refundQueryDto.pageNumber<refundQueryDto.totalPage<spanclass="ui-iconui-icon-seek-next"title="下一页"></span><tdid="last_pager"class="ui-pg-buttonui-corner-<s:iftest="refundQueryDto.pageNumber<<spanclass="ui-iconui-icon-seek-end"title="尾页"></span><td<s:selectkey="refundQueryDto.pageSize"name="refundQueryDto.pageSize"theme="simple"&;共<s:propertyvalue="refundQueryDto.totalRecord"/>过XEXCEL20031)代码:利用GetExcel方法从获取数据进行封装,提供用户下publicclassGetExcelextendsHttpServletGetExcelprivatestaticfinallongserialVersionUID=1L;publicGetExcel(){//TODOAuto-generatedconstructor protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doGetthis.doPost(request,protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPostHttpSessionsession=request.getSession();Useruser=(User)session.getAttribute("user");StringrealPath=session.getServletContext().getRealPath(if(user!=null){Stringaction=request.getParameter("action");LinkedList<UnionData>list=(LinkedList<UnionData>)LinkedList<Bic>bic=(LinkedList<Bic>)StringsavePath=realPath+bp;Itor<Bic>b=bic.itor();Itor<UnionData>l=list.itor();UnionDatatemp;Itor<Double>ExcelExportex=newExcelExport(savePath); intflag=5; ex.setCell(0,"");ex.setCell(1,ex.setCell(2,ex.setCell(3,ex.setCell(4,"");ex.setCell(0,序号ex.setCell(1,时间ex.setCell(2,总额ex.setCell(3,"收入ex.setCell(4,财政收入");ex.setWidth(0,5);ex.setWidth(1,ex.setWidth(2,ex.setWidth(3,ex.setWidth(4,15);{ex.setCell(flag,b.next().getBin());ex.setWidth(flag,15);}ex.unionCell(0,00,flag-1,"纳税汇总表",for(intex.setCell(0,temp.getNumber());ex.setCell(1,temp.getBelong());ex.setCell(2,dm.format(temp.getSum()));ex.setCell(3,dm.format(temp.getTax()));ex.setCell(4,dm.format(temp.get()));{ex.setCell(flag,dm.format(am.next()))}}response.getWriter().print("<ahref='"+bp+"'>点击下载excel表格 EXCEL2003①5.5 5.6 <divid="addForm"//设定form<inputtype="text"name="newEnterpriseName"id="newEnterpriseName"<divid="newEnterpriseNumberDiv"class="newEnterpriseNumberDiv<inputtype="text"name="newEnterpriseNumber"<divid="newEnterpriseIncidenceDiv"class="newEnterpriseIncidenceDiv<selectid="newEnterpriseIncidence"class="newEnterpriseIncidence" torvalue="districtList"<optionvalue='<s:propertyvalue="value"<s:propertyvalue="label" <buttonid="addEnterpriseButton"type="button">提交</button>//提交form表单进行传值<divid="msgSpan"批量上①5.7 5.8 代码 代码2:上传文件页<inputtype="button"name="begin_btn"id="begin_btn"class="btn"value="开始上//点击开始上传按钮,触发beginUpoload,开始上<inputtype="button"name="clear_btn"id="clear_btn"class="btn"value="清空列表//点击清空列表,触发clearQueue,清<divid="shadeDiv"<divid="dialog-&;请稍<ahref="javascript:void(0id="b

温馨提示

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

评论

0/150

提交评论