JSP技术编程模式总述

时间:2022-04-20 03:59:51

JSP技术编程模式总述

摘要:JSP技术与ASP技术、PHP技术是行业中三大常用的网站编程技术。JSP是sun公司提供的以Java为后台语言的动态网站编程技术,以Java为基础,以J2EE为延伸,是Java系列企业级应用程序开发的基础。它提供一了套完整的动态网站开发技术,包括前端页面显示,后台流程控制及业务处理。本文从程序开发框架的角度全面阐述了JSP技术提供的开发模式。

关键词:JSP 编程模式 JavaBean

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2015)12-0000-00

1 纯JSP页面编程

JSP页面就是在静态HTML页面中加入Java源代码、JSP指令、表达式而构成的JSP文件。纯JSP页面编程是JSP技术中最早应用于开发Web应用程序的编程模式,这种编程模式下整个应用程序的Java源代码全部写在JSP页面中,这导致的一个最大问题就是实现前台页面显示的html代码与实现程序功能及流程控制的java源代码、JSP特有的脚本命令、标签完全混在一起,整个程序没有分层次开发,程序结构非常混乱,提高了程序的出错率,增加了代码阅读难度,降低了程序的可维护性,导致开发混乱,增加了开发难度。这与模块化开发、模块独立性等软件开发原则完全违背,因此这种开发模式必然无法真正应用于中小型特别是大型动态网站项目的开发,只能是作为一种理论知识让程序员了解、知道JSP技术中存在这样一种开发模式。

2 JSP+JavaBean编程

JSP+JavaBean编程,即JSP Model 1开发模式,是JSP程序开发经典设计模式之一,

这种开发模式下由JavaBean实现程序的业务功能,这样一来就使得大部分Java源代码从JSP页面中移到了JavaBean中,实现了页面显示与业务处理的分离。而JSP页面只承担页面显示和程序流程控制的责任。用户通过浏览器发送至程序的页面处理请求仍由JSP处理,在处理过程中由JSP页面调用相应的JavaBean完成,JavaBean处理的结果由JSP页面返回给客户。利用JavaBean技术完成业务逻辑操作,如数据库连接、页面数据输入验证、用户登录和注销。JavaBean 是一个遵循了一定规则的Java类,在JSP中有两种类型的JavaBean,即值Bean和工具Bean。值Bean用来存储页面表单数据,相当于页面数据信息的容器,工具Bean用来封装业务逻辑。JSP中通过嵌入Java代码完成程序的流程控制以及对用户访问请求的处理及响应。该模式主要应用于小型项目的开发,随着项目规模的增大,它的缺点也会越来越明显,因为此种开发模式下JSP页面仍然需要完成流程控制,客户端请求处理及响应,这些功能必须要用Java代码才能实现,也就是说JSP页面中仍需要嵌入大量Java代码。如果项目越大JSP页面中嵌入的Java源代码也越多,页面又会出现Html和源代码、JSP标识、指令混合的复杂局面。理想的开况是JSP中应该尽量少的嵌入Java代码,它仅仅用作页面显示,而且通常企业中项目的开发,前台页面都是由专业的网页设计师开发并维护的,网页设计师不懂编程,如果JSP页面中嵌入了大量Java代码及JSP脚本片段,对于网页设计师来说将无法开发,从程序本身来讲这样开发也不利于日后的维护。

3 JSP+Servlet+JavaBean编程

在JSP和JavaBean中间加入Servlet构成三层开发结构:显示层、控制层、业务处理层。这是JSP常用的三层动态网站开发模式,又称JSP Model2模式。该编程模式最大的特点是在开发中引入了Servlet,Servlet是运行在应用服务器端的Java源代码,是一种Java技术,用Java应用程序接口提供的相关类和相关方法来实现。Servlet在程序中起的主要作用为流程控制,接收来自客户端的访问请求,根据请求选择相应的JavaBean进行处理,并将处理后的结果通过JSP返回给客户。JSP+Servlet+JavaBean编程方式使得JSP页面从控制程序流程的代码中解脱出来,该项工作交由Servlet来完成。因此大大减少了JSP页面的源代码含量,使得JSP页面仅用作前端页面显示,这种开发方式使得程序结构清晰,开发人员分工明确,大大提高了开发效率,降低了程序出错率,提高了程序可维护性,是JSP开发Web程序常用的模式,但也存在一定问题,因为它遵循的是MVC设计思想。MVC是目前开发Web应用程序的主流思想,它认为程序主要分为显示、整体控制、功能业务三部分,在开发过程中把这三部分分开,使得程序层次结构清晰。一般市场上软件公司采用的都是这种开发思想,运用的也都是JSP、Servlet、JavaBean技术,但具体实现、流程、设计却各不相同,没有一个统一标准,往往开发人员需要花大量时间设计MVC各部分的数据格式、数据转换等。因此如果有框架实现了MVC思想,开发人员可以直接使用它开发程序这样就可以有效地节省开发时间。根据这种原则近几年也诞生了一些高效的并且实现了MVC思想的框架,struts2就是目前市场上适用于JSP技术开发Web程序的流行框架。

4 Struts2架构编程

Struts2框架是MVC设计思想的典型应用,其设计理念就是应用于Web程序开发的技术框架,但其与Struts 1的体系结构相差甚远。WebWork是Struts2的核心,相对于WebWork,Struts 2的变化很小,Struts2的开发语法以WebWork为基础,类似于WebWork。在Struts2中以拦截器机制来接收处理及分发用户请求,简单来讲体现在代码中就是用xml配置文件指定处理用户请求的Action及显示处理结果的ActionForm。这种方式使得程序的业务逻辑流程控制不再依赖ServletAPI。

Struts2有两方面的技术优势,一是所有Struts2应用程序的开发都是以client/server HTTP交换协议为基础的,The Java Servlet API表明Java Servlet只是Java API的一个很小子集,这样开发人员可以在业务逻辑部分使用功能强大的Java语言进行处理。 二是清晰地实现了MVC,对程序严格地进行了开发层次划分,各层各司其职,不会出现代码混淆,提高了程序的开发效率、安全性、可维护性、可阅读性等。

上一篇:解读鲁迅《呐喊》、《彷徨》的悲剧性 下一篇:计算机系统的可靠性技术