毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

jsp图书借阅管理系统设计与实现(4)

时间:2023-01-29 11:41来源:毕业论文
超级管理员,普通管理员,读者三者都可以对读书进行检索,查看图书的详细信息,对图书进行评价。三者都可以查看新书通告和分类浏览,三者都可以查


超级管理员,普通管理员,读者三者都可以对读书进行检索,查看图书的详细信息,对图书进行评价。三者都可以查看新书通告和分类浏览,三者都可以查看信息发布模块,但是超级管理员和普通管理员查看的是全部的读者的信息,而读者则查看是自己的相关信息。
图书馆图书数量庞大,用户众多,每天产生的借阅,预约,以及赔偿等信息数量非常多繁杂,此时就需要报表来归纳整理这些信息,以图表的形式和Excel的形式直观的展现给管理员,使管理员能够非常直观的获取到这些信息,便于管理,所以在管理员的模块需要提供一个报表统计的功能。
2。3 系统可行性分析
2。3。1 技术可行性分析
(1)AngularJS简介[4]
AngularJS是一款开源的Javascript函数库,AngularJS具有很对个性,例如:MVC,模块化,双向数据绑定,自定义标签,依赖注入。
AngularJS是弥补了HTML在创建应用上面的缺点。HTML在构建静态页面上很强大,但是如果是构建一个整的WEB应用,就显得很力不从心了。
为了解决HTML在构建动态网页上的不足,一般都是采用类库和框架这两种方式。
然而AngularJS采用了和以上两种措施不同的模式来处理问题。AngularJS通过指令的方式来创建应用。
AngularJS的工作原理[5]:
下面我们将论述AngularJS是怎样渲染页面的,当我们通过浏览器来访问一个页面的时候,整个的工作的流程大致是下面几个步骤
①加载html文件,通过浏览器解析成DOM元素。
②加载angular。js脚本。
③AngularJS等待DOMContentLoaded事件的触发。
④AngularJS寻找ng-app指令,根据这个指令确定应用程序的边界。
⑤使用ng-app中指定的模块配置$injector。
⑥使用$injector创建$compile服务和$rootScope。
⑦使用$compile服务编译DOM并把它链接到$rootScope上。
⑧使用ng-init指令对scope中的变量进行初始化。
⑨通过表达式{{ }}对变量的值进行替换,从而在浏览器上显示。
整个过程参见下图2-1。

图2-1 AngularJS渲染页面流程
上面所论述的是AngularJS是渲染页面的,下面将论述AngularJS是怎样交互的,普通的Javascript工作流次要分为三个阶段[6]。
①浏览器监督着事件的触发,这些事件包含用户的操作事件、按时的一些事件以及类似于服务器响应之类的网络事件。
②一旦有事件触发,就会进入到Javascript的容器中,这时候关于DOM元素的操作基本上都是放在回调函数中。
③当回调函数执行完成之后,浏览器会紧接着以相同的方式去渲染下一个DOM元素。论文网
但是AngularJS和普通的工作流不同,它将Javascript的context拆分成了两个局部,一个局部是普通的Javascript的工作流,另一个局部则是AngularJS本身的工作流,详细见下图2-2:

图2-2 AngularJS事件执行流程
结合上面的流程图,阐述AngularJS事件工作的原理。
①首先,浏览器以观察者的模式一直监听着事件是否有触发,如果事件被触发,浏览器会将事件加到一个事件的队列中,事件队列中的事件会按次序的执行。  
②事件队列中的事件如果是在$apply()的fn函数中,那么该事件就会进入到AngularJS的容器中,fn()这个函数就是在AngularJS中执行的函数。
③AngularJS会进入到$digest循环中,其中一个循环是用来处置$evalAsync队列(用来排定一些需要在渲染视图之前处理的操作,通常使用定时器完成,这时候可能会比较慢,可能会瞬间的呈现视图颤抖的状况),另外一个循环则是处理$watch列表(是一些表达式的集合,一旦有改动产生,那么$watch方法就会被调用)的。$digest循环会不停迭代直到$evalAsync队列为空而且$watch列表也为空的时刻,即model不再有任何变动。 jsp图书借阅管理系统设计与实现(4):http://www.youerw.com/jisuanji/lunwen_130830.html
------分隔线----------------------------
推荐内容