学校图书管理系统的设计毕业论文(编辑修改稿)内容摘要:

vaBean 技术实现模型的功能 JSP Model 1 与 JSP Model 2 SUN 在 JSP出现早期制定了两种规范,称为 Model1和 Model2。 虽然 Model2 在一定程度上实现了 MVC,但是它的应用用并不尽如人意 JSP Model 1 JSP Model 2 7 model2 容易使系统出现多个 Controller,并且对页面导航的处理比较复杂 有些人觉得 model2 仍不够好,于是 Craig R. McClanahan 2020 年 5 月 提交了一个WEB framework 给 Java Struts. 2020 年 7 月, ,正式发布。 该项目也成为了 Apache Jakarta 的子项目之一 Struts 质上就是在 Model2的基础上实现的一个 MVC 架构。 它只有一个中心控制器,他采用 XML 定制转向的 URL。 采用 Action 来处理逻辑 22 Struts 优缺点 优点: Struts 跟 Tomcat、 Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一大优点。 使开发者能更深入的了解其内部实现机制。 除此之外, Struts 的优点主要集中体现在两个方面: Taglib 和页面导航。 Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率。 另外,就目前国内的 JSP 开发者而言,除了使用JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。 关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。 通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。 尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 缺点: Taglib 是 Struts 的一大优势,但对于初学者而言,却需要一个持续 学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。 Struts 将 MVC 的 Controller 一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。 Struts 从产生到现在还不到半年,但已逐步越来越多运用于商业软件。 虽然它现在还有不少缺点,但它是一种非常优秀的 J2EE MVC 实现方式。 33 Struts的工作流程 下图是 Struts 的工作流程,所有的请求都提交给 ActionServlet 来处理。 8 ActionServlet 是一个 FrontController,它是一个标准的 Servlet,它将 request 转发给RequestProcessor 来处理, ActionMapping 是 ActionConfig 的子类,实质上是对 的一个映射,从中可以取得所有的配置信息 RequestProcessor 根据提交过来的 url,如 *.do,从 ActionMapping 中得到相应的ActionForn 和 Action。 然后将 request 的参数对应到 ActionForm 中,进行 form 验证。 如果验证通过则调用 Action 的 execute()方法来执行 Action,最终返回 ActionFoward。 ActionFoward 是对 mapping 中一个 foward 的包装,对应于一个 url ActionForm 使用了 ViewHelper 模式,是对 HTML 中 form 的一个封装。 其中包含有validate方法,用于验证 form数据的有效性。 ActionForm是一个符合 JavaBean 规范的类,所有的属性都应满足 get 和 set 对应。 对于一些复杂的系统,还可以采用 DynaActionForm来构造动态的 Form,即通过预制参数来生成 Form。 这样可以更灵活的扩展程序。 ActionErrors 是对错误信息的包装,一旦在执行 action或者 ,即可产生一个 ActionError 并最终加入到 ActionErrors。 在 Form验证的过程中,如果有 Error发生,则会将页面重新导向至输入页,并提示错误。 Action是用于执行业务逻辑的 RequsestHandler。 每个 Action都只建立一个 instance。 Action 不是线程安全的,所以不应该在 Action 中访问特定资源。 一般来说,应改使用 Business Delegate 模式来对 Business tier 进行访问以解除耦合。 Struts 提供了多种 Action 供选择使用。 普通的 Action 只能通过调用 execute 执。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。