您的位置:首页 > Web前端 > JavaScript

[读书笔记]J2EE 基本概念 --- JSP

2006-05-18 18:10 218 查看
JSP技术是用来解决如下问题的:
1. 表现层(presentation,即页面)经常发生变化。而这些变化和应用逻辑(Application Logic)无关,即完全重新编译(recompilation and rebuild)是不必要的。
2. 表现层调试困难。除非运行,才可以知道代码是否有错误。
3. 在多数大型组织中,表现层开发者(presentation developer)和后台开发者(Software developer)是不同的人,这就要求表现层开发者懂得后台使用的语言,以便开发表现层,而许多专门的表现层开发工具也因而变得不能使用。

JSP技术简介
同Servlets一样,JSP是也是一种J2EE的Web组件。JSP和服务器端脚本技术不同的是,JSP需要被编译(compiled),而服务器端脚本是被翻译的(interpreted)。
JSP包括结构化文档(通常是HTML),以及内嵌在其中的java代码。当一个JSP页面被请求的时候,服务器会运行其中的java代码,并把运行结果和静态代码一起返回给发出请求的客户端。
这种想法的目的是,使用标记语言(HTML)来显示页面中的静态内容,内嵌特殊标记(tag)来标记动态内容。服务器会处理这些特殊标记中的代码,并返回处理结果。

JSP的典型应用
JSP具有和Servlets同样的能力,即后者能做的事,前者都能做到,反之亦然。
正确的使用二者的方式是:
使用JSP来显示动态页面内容,而在逻辑处理更重要的地方使用Servlets。
(原文: The idea is to leverage the JSP for presentation-centric tasks and utilize the servlets where logic is paramount.)
在有动态内容需要显示给客户看的时候,使用JSP是非常合适的。
总之,JSP的主要用途是用来做显示(presentation)工作,内嵌的Java代码主要是用来和Servlet或者是其他的控制器,数据实体等进行通信。
JSP是需要消耗系统资源的,所以如果只有静态代码就足够了,那么就不要使用JSP。在这种情况下,应当使用一个普通的HTML页面。

架构模式:Model1 Model2
Model1:这种架构把页面表现和商业逻辑处理都放在了JSP中。优点是简单并易于实现。缺点是代码会变得越来越庞大,并且难于维护和升级。
Model2:现在大多数开发都使用这种架构。这种架构遵循MVC(Model-View-Controller)模型。在这个模型中,Model用Javabean来实现,它主要是用来存储数据的;JSP被用来从Javabean中取得需要显示的数据显示在页面中(View);Servlets来处理来自客户端的请求,并且把处理结果储存在Javabean中(Controller)。
使用时机:
Model1:创建简单的,没有复杂逻辑处理的Web应用时使用。
Model2:需要对请求进行扩展处理,并且可能返回多个响应的时候使用Model2。
总之,最适合的才是最好的。
JSP VS Servlets
所有的JSP都被编译成Servlets,然后再Servlet容器中运行。所以,从技术角度讲,JSP和Servlets在能力和用途方面是相似的。
JSP优于Servlets的方面有:
n JSP是以显示为主要用途,给Web显示层开发者提供了一种更加自然的开发模型。
n JSP使得“把表示和内容分开”的目的能够实现。这意味着,项目表示层的开发可以和逻辑层的开发同时进行。
n JSP帮助组织Web应用的物理方面。
JSP是自动编译的,而Servlets需要手动编译。
在显示层经常发生变动的时候,是用JSP;在需要处理更加复杂的业务逻辑的时候使用Servlets。

在一个具体项目的开发过程中,选择JSP还是Servlets并不是一个非此即彼的命题。更好的方法是混合使用两者来开发一个平衡的系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: