㈠ 什么叫JSP技术
JSP技术是一种动态网页技术。
JSP是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
(1)jsp开发技术详解怎么样扩展阅读:
JSP优点:
1.一次编写,到处运行。除了系统之外,代码不用做任何更改。
2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。
3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
5.支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
参考资料:
网络--JSP
㈡ JSP技术主要缺点和优点有哪些
1. JSP技术极大的增加了产品的复杂性.为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如,JRE,JDK,J2EE,EJB,JSWDK,JavaBeans ,只有有效地将它们组合在一起,才能产生强大的功能.(部署有难度)x0dx0a2. java的高效率运行需要占用大量的内存和硬盘空间. 一方面,java的高速运行是通过 .class文件常驻内存来实现的.另一方面,还需要硬盘空间来存储一系列的.java 文件和.class文件以及对应的版本文件.(硬件要求高)x0dx0a3. JSP程序调试困难.x0dx0aJSP页面执行时, 首先被转换为 .java文件(Servlet), 然后将.java文件编译为字节码文件. 这样,出错信息实际上指向的是转换后的那个.java文件(Servlet), 而不是JSP本身. (调试有难度)优点:x0dx0a1.JSP代码跨平台, 即一次编写,处处运行x0dx0a众所周知,由于微软的垄断性,它的产品可移植性做得十分差,ASP也不例外,x0dx0a2.JSP组件跨平台x0dx0aJSP组件(企业JavaBeans,JavaBeans或定制的JSP标签)都是跨平台可重用的.企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台.x0dx0a3.支持多种网页格式x0dx0a目前, JSP技术支持的网页格式还没有一个明确的标准.一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通信设备如移动电话,PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式.x0dx0a4.JSP标签可扩充性x0dx0a尽管ASP和JSP都使用标签与脚本技术来制作动态Web网页,JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖.由于定制标签技术,使网页制作者降低了制作网页的复杂度.x0dx0a5.健壮性与安全性x0dx0a由于JSP页面使用的脚本语言是java语言, 因此,它就具有java技术的所有好处, 包括健壮的存储管理和安全性.
㈢ JSP技术优缺点深入分析[6]
JSP 的拥护者会很快告诉您 JSP 标记库 可以帮助您避免这个问题 标记库允许将自定义标记(例如 ﹤AUTHORS /﹥)添加到 JSP 页面 然后在运行时在标记库内将其解析为代码片段
使用自定义标记和相关的标记库允许把以上示例转换为清单 所示的内容
﹤CENTER﹥﹤TABLE width= % CELLPADDING= CELLSPACING= border= BGCOLOR= #FFFFCC ﹥ ﹤ACTORS /﹥﹤/TABLE﹥﹤/CENTER﹥在运行时 将执行标记的代码并把正确的结果插入到页面中 但是这并没有解决问题 反对 JSP 技术的理由并不在于能否 分离内容和表示 而是在于是否必须 分离 只要 JSP 编码允许内联编码 那么就可以很方便地对内联代码进行最后的修改(特别是逼近最后期限时) 而不是将代码转换为一个标记库 如果这不是真的 那么 Java 语言为何会马上比 C 和 C++ 更流行 Java 禁用了 C 中大量有问题的特性 例如指针相加 虽然您可以总是强调您不需要 在 C 中执行指针相加 或者优秀的程序员将插入代码 scriptlet 我们都知道实际会发生什么 Java 语言是一种更好的选择 因为它严禁 使用这些不好的习惯 但是 JSP 在这方面更类似于 C 允许实现一些非常糟糕的实践
检验 JSP 技术是否成功达到其所述目标的另一种方法是看它能否在实践中实现这个目标 显然 如果认为 JSP 无法实际实现目标 这是不公平的 大多数模板引擎 比如 FreeMarker 和 WebMacro 都提供了相同的内联编码功能 通常附带了一种类似 Perl 的语言 然而 诸如 Enhydra 的 XMLC 这样的技术不 允许进行这种类型的编码 相反 这些技术将一个纯标记语言页面作为输入 然后生成 Java 方法 这实际上改变了编程流程 应用程序并不像 JSP 技术那样使用页面从应用程序调用逻辑 而是使用方法影响页面的值(Enhydra) 以 Enhydra 为例 使用 XMLC 将页面转换为一个 DOM 树 然后使用 DOM 的 HTML 绑定更新页面中的 字段 (有关 Enhydra XMLC 的更多信息 请查阅 参考资料)
这里的重点是 JSP 技术实现目标的能力远远超过 XMLC 例如 仅仅是允许标记库这一项就比 XMLC 强很多 但是 Sun 规范总体趋向于始终维护向后兼容性 或至少在相当长的一段时间内维护向后兼容性 JSP 规范的当前版本为 它允许使用 scriptlets 因此在未来几年内 JSP 页面内都会支持这个特性 在深入探究 JSP 编码之前 请注意 在其强调的完全分离内容和表示的理念和实际实现之间存在一个很大的缺口 它充其量只是假装分离了用户界面和驱动应用程序的代码
单处理和多任务处理
如前所述 理想状态下 设计师应该能够执行单独处理 只关注图形设计 而开发人员应该能够将注意力集中在编程上 因此 设计师可以在将页面转换为适合应用程序的格式后 再对其进行处理 对于 JSP 页面来说 将页面转换为适合应用程序的格式就是指向页面导入 JavaBeans 插入内联编码并添加自定义标记库 问题是有些设计师使用的是 HTML 编辑器 比如 HoTMetaL Macromedia Dreamweaver 或 FrontPage 这些编辑器无法识别代码 scriptlets 或标记库 这意味着设计师实际上只收到了页面的一部分 想象一下 标记库或代码片段只生成了表的若干行 或是页面中其他格式化的细节 这是多么麻烦的事情 设计师使用了不兼容的 HTML 编辑器 无法看到这些元素的外观 在开发人员完成编码后 设计师不能轻松地对页面进行修改 这时 不仅没有清晰地划分角色 JSP 编码实际上将这两种角色合二为一 开发人员必须执行多个任务 必须担当开发人员 设计师以及其他角色
如果您仍然对此表示怀疑 那么请下载 J EE Reference Implementation 并将其中一个附带的 JSP 页面加载到一个 WYSIWYG HTML 编辑器 例如 Dreamweaver 页面立即被一些黄 *** 域填充 告诉您页面中包含的所有 错误 标记 当然 黄色内容来自于 JSP 标记和代码 而不是页面出现了什么真正的错误
迄今为止 尚未出现支持 JSP 功能的 WYSIWYG 编辑器 我也没有听说过任何与此相关的项目 尽管模板引擎也具有相同的问题 但是很多基于 Java 的解决方案 例如我最喜欢的 Enhydra 都允许您将标记页面作为输入提供给表示技术 在这种情况下 设计师可以根据需要频繁地进行修改 并重新提供标记页面 运行表示技术的引擎或编译程序将标记页面转换为适当的格式 并且不需要修改任何代码(典型情况下) 最终获得了理想的结果 设计师和开发人员各司其职
因此 要注意 JSP 技术作出的承诺和它实际交付的实现 在实际中 要在一个 JSP 技术驱动的环境下发挥功效 必须让开发人员处理大部分标记 或至少让设计师学习一些 JSP 编码
HTML 和 XML
㈣ JSP技术优缺点深入分析[5]
可移植性和语言锁定
JSP 技术将您锁定到某种特定的语言 这一点不应该给予太多的关注 至少在我看来 Java 技术是企业应用程序的惟一 选择 在这个领域 根本不存在可以独立于语言的解决方案 当然 在这个时候 我没有把 Microsoft NET 平台牵涉进来 只有时间可以告诉我们这个平台是否可以真正独立于语言(我很怀疑这一点)
然而 选择 JSP 技术将强制您使用 Java 语言 至少对于内容和表示是这样的 尽管 CORBA 可以用于业务逻辑 JSP 编码要求必须熟悉 servlet 和核心 Java 语言 因为很多开发人员通过 J EE 平台接触 JSP 编码 因此这通常算不成问题
混合和独立
在本篇文章中 我始终围绕分离内容和表示这一概念 您可能对此已经感到不耐烦 那么现在让我们看看 JSP 究竟能不能实现这个目标 正如我们之前讨论的一样 JSP 宣称 一直致力于实现内容和表示分离 那么我们可以因此认为它实现了目标 是吗?未必如此
内容和表示之间的界限变得模糊
JSP 允许将 Java 代码插入到标记语言页面中 这个非常危险的特性允许将内容混合到表示中 更糟糕的是 业务逻辑通常会进入到 JSP 页面中 如清单 所示
﹤%@ page import= ibm display PageUtils %﹥﹤%@ page import= ibm display PageInfo %﹥﹤%@ page import= ibm logic AdminUtils %﹥﹤%@ page import= ibm people Actor %﹥﹤%@ page import= java util Iterator %﹥﹤%@ page import= java util Vector %﹥﹤%PageInfo pageInfo = (PageInfo)session getAttribute( PAGE_DATA )%﹥﹤HTML﹥﹤HEAD﹥﹤TITLE﹥﹤%=pageInfo getTitle()%﹥﹤/TITLE﹥﹤/HEAD﹥﹤BODY﹥﹤H ALIGN= center ﹥Search Results: Actors﹤/H ﹥﹤CENTER﹥﹤HR width= % ﹥﹤TABLE width= % CELLPADDING= CELLSPACING= border= BGCOLOR= #FFFFCC ﹥﹤%// Based on user s permissions perform search differently (business logic!)Vector actors = pageInfo getActors()if (pageInfo getUserInfo() hasPermission( ADMINISTRATOR )) { actors = AdminUtils getActors(pageInfo getSearchCriteria());} else { actors = pageInfo getActors();}for (Iterator i = actors iterator(); i hasNext()) {Actor actor = (Actor)i next();%﹥ ﹤TR BGCOLOR= #FFCCCC ﹥ ﹤TH width= % ALIGN= center ﹥ ﹤%=actor getLastName()%﹥ ﹤/TH﹥ ﹤TH width= % ALIGN= center ﹥ ﹤%=actor getFirstName()%﹥ ﹤/TH﹥ ﹤/TR﹥﹤%}%﹥﹤/TABLE﹥﹤/CENTER﹥﹤/BODY﹥﹤/HTML﹥lishixin/Article/program/Java/JSP/201311/20763
㈤ JSP技术优缺点深入分析[1]
作为一名资深的 Java 技术专家和 Enhydra 支持者 本文作者强烈建议开发人员在选择 Web 应用程序编程语言时 使用其他可以替代 JavaServer Pages (JSP) servlets 的技术 JSP 技术是Sun 的J EE 平台和编程模型的一部分 用于解决将单调的内容转换为外观优美的表示层时遇到的困难 事实上 并非所有的Web开发人员都对JSP 技术很满意 由于 Sun 技术出现了很多不同的版本 您可以从众多表示技术中选择一种替代技术 本文将深入查看JSP代码并介绍一些有吸引力的替代选择
表示技术专门用于将单调粗糙的Web 内容转换成带有漂亮的表示层的内容 JavaServer Pages (JSP) 技术是 Sun 的表示模型 并且是 J EE 平台的一部分 它获得了极大的关注 使用 JSP 技术有优点也有缺点 Web 开发人员应该了解这些优缺点 并且知道还有其他代替技术 实际上 现在有很多可供选择的表示技术 本文先介绍表示技术要解决哪些问题 然后考察 JSP 模型特有的优缺点 最后 将介绍一些其他表示技术 它们可以代替 Sun 表示技术
历史背景
在深入介绍表示技术之前 有必要了解一下该技术产生的时代背景 就在 年前 瘦客户机还是个新鲜事物 我们仍然处于桌面应用程序的时代 使用功能有限的 微处理器和现在看来不屑一顾的 寸显示器 时代变了!现在我的台式机只需要运行一个 Web 浏览器 服务器由 Sun IBM HP Compaq 提供 计算 业务逻辑和内容则又由其他公司提供 那么显示器呢?现在我们使用的是 寸到 寸不等 等离子宽屏显示器 这样我们就可以看到复杂的 HTML 表示 它们充当这些强大的应用程序的前端 以前的单调界面已经无法满足需要 我们现在需要使用华丽的图形 可以移动的图像 色彩协调的表示 并且要求它能够加快呈现速度
前提条件
如今 在羽毛渐丰的 Windows 应用程序经过十年的发展之后 我们还处在表示模式的巨大转型之中 Visual Basic 和 C 程序员发现他们仍然在使用后端系统或单调的 Windows 应用程序 或是在工具箱中加入了一种具有 Web 能力的语言 例如 Java 语言 如果一个应用程序无法支持至少 到 种 ML 式语言(例如 HTML XML 和 WML) 即使不是彻底失败 也会被认为是很糟糕的 当然 这就表示我们非常重视能轻松开发 Web 表示层的能力
事实证明 使用新的 Internet 以及所有可用的语言(Java C Perl Pascal 和 Ada 等)并不像我们希望的那样简单 在后端系统使用编程语言并利用它们生成适合客户机的标记语言时 出现了大量问题 随着浏览器端的选择越来越多(例如 DHTML 和 JavaScript 编码) Web 领域迫切需要图形设计知识 以及可以使用标准 HTML 创建复杂界面的工具 但开发应用程序前端的能力无法跟上这些需求的步伐 此时 表示技术 应运而生
表示技术的专门任务是 将内容(即没有包含表示细节的数据)转换为表示 也就是您在手机 PalmPilot 或 Web 浏览器看到的各种用户界面 这些表示技术要解决哪些问题?让我们来了解一下
分离和集成
表示技术的主要目的是允许分离内容和表示 换而言之 业务逻辑单元(假设 C 或 Java 等编程语言)不需要使用特定于表示的方式生成数据 数据或内容 按照原始格式返回 没有进行格式化 表示技术随后对内容应用格式化或进行表示 最终的结果是各种数据被图形 格式 色彩和徽标所包围
查看清单 和清单 中的示例 了解一下原始内容和应用了表示技术的内容之间的差异
清单 展示了原始的内容 全部都是数据 可以按照任何方式使用
Russell CroweTom HanksMeg RyanMary Stuart MastersonAlec BaldwinAshley JuddKeanu Reeveslishixin/Article/program/Java/JSP/201311/20759