JSP开发模式
为了更好的利用 JSP 来开发 Web 应用程序,下面介绍两种 JSP 开发模式。JSP + JavaBean 模式和Servlet + JSP + JavaBean 模式
JSP + JavaBean 模式
这一模式中 JSP 页面负责处理请求和输出响应结果,并将其中发生的一些业务逻辑交给JavaBean 处理。最大的特点是将一次请求的响应过程完全交给一个 JSP 页面负责,通过使用该模式可以实现页面的显示和页面的内容(逻辑)分离。但是导致在页面里面嵌入大量的 Java 控制代码,大量的内嵌代码使得页面变得庞大,同时也非常复杂。因此大型项目一般不采用这种模式,不利于项目的开发以及后期的维护。
Servlet + JSP + JavaBean 模式(MVC模式)
MVC(模型-视图-控制器)是 20 世纪 80 年代为 Smalltalk-80 编程语言发明的一种软件设计模式,它是一种分离业务逻辑与显示界面的设计方法,它强制性的使应用程序的输入、处理和输出分开。
应用程序被分成三个核心部件:模型、视图、控制器它们各自处理自己的任务。
视图是用户看到并与之交互的界面。在 MVC 模式下,视图并不处理数据。事实上,界面的每一部分都只能包含采集数据的足够逻辑,并把数据传递给设计模式中的其他组成部分进行处理;模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务,它是真正完成任务的代码。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
采用 MVC 模式构建的系统具有极高的可维护性、可扩展性、可移植性和组件的可复用性。
Servlet+JSP+JavaBean 技术借鉴了 MVC 模式来实现显示内容与业务逻辑的完全分离,它综合采用由 Servlet 处理请求和控制业务流程,JSP 输出响应结果,JavaBean 负责具体的业务数据和业务逻辑。在这种模式中,Servlet 不再担负生成显示内容的任务,而 JSP 也只是简单的从 Servlet 创建好的 JavaBean 对象中检索数据,然后将结果插入 JSP 的预定义模板,从而使不懂 Java 代码的普通 HTML 设计人员完全可以编写和维护 JSP 页面。在实际的项目开发过程中,页面设计者可以方便地使用普通的 HTML 工具开发 JSP 页面,Servlet适合于后端开发者使用。开发 Servlets 需要的工具是 Java 集成开发环境。更加明显地把显示和逻辑分离,使得代码容易管理,适合大型项目的开发。
为了更好的利用 JSP 来开发 Web 应用程序,下面介绍两种 JSP 开发模式。JSP + JavaBean 模式和Servlet + JSP + JavaBean 模式
JSP + JavaBean 模式
这一模式中 JSP 页面负责处理请求和输出响应结果,并将其中发生的一些业务逻辑交给JavaBean 处理。最大的特点是将一次请求的响应过程完全交给一个 JSP 页面负责,通过使用该模式可以实现页面的显示和页面的内容(逻辑)分离。但是导致在页面里面嵌入大量的 Java 控制代码,大量的内嵌代码使得页面变得庞大,同时也非常复杂。因此大型项目一般不采用这种模式,不利于项目的开发以及后期的维护。
Servlet + JSP + JavaBean 模式(MVC模式)
MVC(模型-视图-控制器)是 20 世纪 80 年代为 Smalltalk-80 编程语言发明的一种软件设计模式,它是一种分离业务逻辑与显示界面的设计方法,它强制性的使应用程序的输入、处理和输出分开。
应用程序被分成三个核心部件:模型、视图、控制器它们各自处理自己的任务。
视图是用户看到并与之交互的界面。在 MVC 模式下,视图并不处理数据。事实上,界面的每一部分都只能包含采集数据的足够逻辑,并把数据传递给设计模式中的其他组成部分进行处理;模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务,它是真正完成任务的代码。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
采用 MVC 模式构建的系统具有极高的可维护性、可扩展性、可移植性和组件的可复用性。
Servlet+JSP+JavaBean 技术借鉴了 MVC 模式来实现显示内容与业务逻辑的完全分离,它综合采用由 Servlet 处理请求和控制业务流程,JSP 输出响应结果,JavaBean 负责具体的业务数据和业务逻辑。在这种模式中,Servlet 不再担负生成显示内容的任务,而 JSP 也只是简单的从 Servlet 创建好的 JavaBean 对象中检索数据,然后将结果插入 JSP 的预定义模板,从而使不懂 Java 代码的普通 HTML 设计人员完全可以编写和维护 JSP 页面。在实际的项目开发过程中,页面设计者可以方便地使用普通的 HTML 工具开发 JSP 页面,Servlet适合于后端开发者使用。开发 Servlets 需要的工具是 Java 集成开发环境。更加明显地把显示和逻辑分离,使得代码容易管理,适合大型项目的开发。