1.系统分为四个大的模块:1,选择经费项目。2,选择业务类型。3.选择支付方式。4.结算,打印
问题:开始的时候一步一步没有进行合法性的验证,就是A用户填写中,然后再次在该步骤的基础上打开一个页面进行操作的时候,,数据包存储的都是刚刚打开页面输入的信息。所以在初次打开的页面提交的时候,从数据包获取的数据就已经改变了,这样就会造成信息的错乱。
方法:加入步骤,申请单,用户的验证。
2.系统每一页输入的信息很多。大体的是一个Init+jsp+submit构造一个环节,其中jsp中可以弹出iframe,来保存一些即时的信息。
问题:因为一个jsp页面要保存的信息很多,当要保存某一项信息的时候,进行了后台的操作。因为后台是进行存库操作,所以当我输入了一些信息的的时候,会有A表的要保存,B表的还不要保存这种,因为之前的submit环节是都进行验证操作来保存,这样就会造成用户体验很不好。还有一个问题是,因为Init操作是从先数据库中加载数据,一般submit执行完再走init,如果submit执行完以后去走jsp的话,会解决保存不同表的问题,但是如果我写到一半,关掉以后,从查询过来的话,那些信息就不会及时的保存到库。这样也会造成用户体验不佳。
2.1:开发中的问题:首先编程的框架是initServelt+jsp+submitServelt。IInit【从数据库中加载页面所需的数据。jsp展示数据。submit保存入库】我们遇到的问题是:jsp中要保存的数据很多【其中jsp中可以弹出iframe,来保存一些即时信息】,并且每一项的数据针对不同的表。当我们在页面中填写很多信息,走submitServlet逻辑的时候。有的表的数据是需要保存,有的是不需要保存,有的是更新内存对象的。还有一个问题是,因为Init操作是从先数据库中加载数据,一般submit执行完再走init,如果submit执行完以后去走jsp的话,会解决保存不同表的问题,但是有的数据我们并不像直接保存到数据库中,因为有些数据只是用户随意填写的没有什么价值,这样造成数据库中很多没有价值的数据。一般情况下我们走完submitServlet,跳转到initServlet来加载最新的数据。
我们解决问题的方法:在数据库中创建一个cache缓存表,创建一个cache缓存表,在init的时候,先从缓存表中进行加载数据,如果加载不到再从数据库中加载。submit提交的话,分为“下一步”的正式提交和“不是下一步”的非正式提交。非正式提交的话数据存储在缓存表中,数据也不需要进行数据校验,正式提交的话先进行数据的校验,然后保存数据库中对应的表,然后清空缓存表中的相应数据。
3.系统适用于不同的学校,为了代码的复用,进行的深层次的封装。
首先根据配置文件,加载不同学校不同的初始化值。
根据不同的财务系统基础进行选择不同的的财务库。