- Benefits of JSP
JSP pages are translated into servlets. So, fundamentally, any task JSP pages can perform could also be accomplished by servlets.
However, this underlying equivalence does not mean that servlets and JSP pages are equally appropriate in all scenarios.
The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. After all, anything you can do on a particular computer platform in the Java programming language you could also do in assembly language.
But it still matters which you choose.JSP provides the following benefits over servlets alone:
bull; It is easier to write and maintain the HTML. Your static code is ordinary HTML:
no extra backslashes, no double quotes, and no lurking Java syntax.
bull; You can use standard Web-site development tools. Even HTML tools that know nothing about JSP can be used because they simply ignore the JSP tags.
bull; You can divide up your development team. The Java programmers can work on the dynamic code.
The Web developers can concentrate on the presentation layer. On large projects, this division is very important.
Depending on the size of your team and the complexity of your project, you can enforce a weaker or stronger separation between the static HTML and the dynamic content.
Now, this discussion is not to say that you should stop using servlets and use only JSP instead.
By no means. Almost all projects will use both. For some requests in your project, you will use servlets. For others, you will use JSP. For still others, you will combine them with the MVC architecture .
You want the appropriate tool for the job, and servlets, by themselves, do not complete your toolkit.
2.Advantages of JSP Over Competing Technologies
A number of years ago, Marty was invited to attend a small 20-person industry roundtable discussion on software technology. Sitting in the seat next to Marty was James Gosling, inventor of the Java programming language.
Sitting several seats away was a high-level manager from a very large software company in Redmond, Washington.
During the discussion, the moderator brought up the subject of Jini, which at that time was a new Java technology.
The moderator asked the manager what he thought of it, and the manager responded that it was too early to tell, but that it seemed to be an excellent idea.
He went on to say that they would keep an eye on it, and if it seemed to be catching on, they would follow his companys usual 'embrace and extend' strategy.
At this point, Gosling lightheartedly interjected 'You mean disgrace and distend.'
Now, the grievance that Gosling was airing was that he felt that this company would take technology from other companies and suborn it for their own purposes. But guess what?
The shoe is on the other foot here.
The Java community did not invent the idea of designing pages as a mixture of static HTML and dynamic code marked with special tags.
For example, ColdFusion did it years earlier.
Even ASP (a product from the very software company of the aforementioned manager) popularized this approach before JSP came along and decided to jump on the bandwagon.
In fact, JSP not only adopted the general idea, it even used many of the same special tags as ASP did.
So, the question becomes: why use JSP instead of one of these other technologies? Our first response is that we are not arguing that everyone should.
Several of those other technologies are quite good and are reasonable options in some situations.
In other situations, however, JSP is clearly better. Here are a few of the reasons. 2.1 Versus .NET and Active Server Pages (ASP).NET is well-designed technology from Microsoft.
ASP.NET is the part that directly competes with servlets and JSP.
The advantages of JSP are two fold.First, JSP is portable to multiple operating systems and Web servers; you arent locked into deploying on Windows and IIS. Although the core .NET platform runs on a few non-Windows platforms, the ASP part does not.
You cannot expect to deploy serious ASP.NET applications on multiple servers and operating systems.
For some applications, this difference does not matter. For others, it matters greatly.Second, for some applications the choice of the underlying language matters greatly. For example, although .NETs C# language is very well designed and is similar to Java, fewer programmers are familiar with either the core C# syntax or the many auxiliary libraries.
In addition, many developers still use the original version of ASP. With this version, JSP has a clear advantage for the dynamic code. With JSP, the dynamic part is written in Java, not VBScript or another ASP-specific language, so JSP is more powerful and better suited to complex applications that require reusable components.
You could make the same argument when comparing JSP to the previous version of ColdFusion; with JSP you can use Java for the 'real code' and are not tied to a particular server product.
However, the current release of ColdFusion is within the context of a J2EE server, allowing developers to easily mix ColdFusion and servlet/JSP code.
2.2 Versus PHP
PHP (a recursive acronym for 'PHP: Hypertext Preprocessor') is a free, open-source, HTML-embedded scripting language that is somewhat similar to both ASP and JSP. One advantage of JSP is that the dynamic part is written in Java, which already has an extensive API for networking, database access, distributed objects, and the like, whereas PHP requires learning an entirely new, less widely used language. A second advantage is that JSP is much more widely supported by tool and server vendors than is PHP.
2.3 Versus Pure Servlets
JSP doesnt
剩余内容已隐藏,支付完成后下载完整资料
1、JSP的好处
JSP页面被转换成servlet。因此,从根本上讲,JSP页面可以执行的任何任务也可以由servlet完成。
然而,这种底层等价并不意味着servlet和jsp页面在所有场景中都同样适用。
问题不在于技术的力量,而在于技术的便利性、生产力和可维护性。毕竟,你可以用Java编程语言在一个特定的计算机平台上做任何事情,你也可以用汇编语言来做。
但是,选择哪一个仍然很重要。JSP提供了以下优于servlet的好处:
bull;更容易编写和维护HTML。你的静态代码是普通的HTML:
没有额外的反斜杠,没有双引号,也没有隐藏的Java语法。
bull;你可以使用标准网站开发工具。即使是对JSP一无所知的HTML工具也可以使用,因为它们只是忽略了JSP标记。
bull;你可以划分开发团队。Java程序员可以使用动态代码。
Web开发人员可以专注于表示层。在大型项目中,这个部门非常重要。
根据团队的规模和项目的复杂性,你可以在静态HTML和动态内容之间实施更弱或更强的分离。
现在,这个讨论并不是说你应该停止使用servlet,而只使用JSP。
决不是。几乎所有的项目都将使用这两种方法。对于项目中的一些请求,你将使用servlet。对于其他人,你将使用JSP。对于其他人,你将把它们与MVC体系结构结合起来。
你需要适合该工作的工具,servlet本身并不完成你的工具包。
2.JSP相对于竞争技术的优势
几年前,马蒂应邀参加一个由20人组成的小型行业圆桌会议,讨论软件技术。坐在马蒂旁边的座位是詹姆斯·高斯林,Java编程语言的发明家。
坐在几张椅子旁边的是华盛顿雷德蒙一家非常大的软件公司的高级经理。
在讨论中,主持人提出了Jii的主题,当时是一种新的Java技术。
主持人问经理他是怎么想的,经理回答说现在说还为时过早,但这似乎是个好主意。
他接着说,他们会密切关注这件事,如果这件事看起来流行起来,他们会遵循公司一贯的“拥抱并延伸”战略。
此时,戈斯林轻松地插嘴道:“你的意思是耻辱和虚张声势。”
现在,戈斯林所表达的不满是,他认为这家公司会从其他公司获取技术,并将其分包给其他公司用于自己的目的。但是你猜怎么着?另一只脚在这里。
Java社区并没有发明将页面设计成静态HTML和标记特殊标签的动态代码混合的想法。
例如,ColdFusion早在几年前就做到了。
即使是ASP(一个来自上述经理的软件公司的产品)也在JSP出现并决定加入潮流之前推广了这种方法。
事实上,JSP不仅采用了一般的思想,它甚至使用了许多与ASP相同的特殊标记。
因此,问题变成了:为什么使用JSP而不是这些其他技术中的一种?我们的第一个反应是,我们不主张每个人都应该这样做。
其中一些其他技术相当好,在某些情况下是合理的选择。
然而,在其他情况下,JSP显然更好。以下是一些原因。2.1与.NET和Active Server Pages(ASP).NET相比,它是微软精心设计的技术。
ASP.NET是直接与servlets和jsp竞争的部分。
JSP的优点有两个方面:第一,JSP可移植到多个操作系统和Web服务器;你不必锁定在Windows和IIS上部署。虽然core.net平台运行在一些非Windows平台上,但ASP部分不运行。
你不能期望在多个服务器和操作系统上部署严重的ASP.NET应用程序。
对于某些应用程序,这种差异并不重要。对于其他人来说,它非常重要。第二,对于某些应用程序,底层语言的选择非常重要。例如,尽管.NET的C语言很好地设计并类似于Java,但是更少的程序员熟悉核心C语法或许多辅助库。
此外,许多开发人员仍然使用ASP的原始版本。在这个版本中,JSP对于动态代码有明显的优势。使用JSP,动态部分是用Java编写的,而不是用VBScript或其他ASP特定语言编写的,因此JSP更强大,更适合于需要可重用组件的复杂应用程序。
在将JSP与以前版本的CordDFIX进行比较时,可以使用相同的参数;使用JSP,可以使用Java作为“真实代码”,而不与特定的服务器产品绑定。
然而,当前的coldfusion版本是在J2EE服务器的上下文中,允许开发人员轻松地混合coldfusion和servlet/jsp代码
2.2 与PHP作比较
PHP(是“php:hypertextproprocessor”的递归缩写)是一种免费的、开源的、HTML嵌入式脚本语言,与ASP和JSP有点相似。JSP的一个优点是动态部分是用Java编写的,它已经有了广泛的API用于网络、数据库访问、分布式对象等,而PHP需要学习一种全新的、不太广泛使用的语言。第二个优点是,工具和服务器供应商比PHP更广泛地支持JSP。
2.3与纯servlet相比
JSP不提供原则上不能用servlet完成的任何功能。实际上,JSP文档在后台自动转换为servlet。但是写(和修改)更方便!常规的HTML,而不是使用大量的println语句来生成HTML。另外,通过将演示文稿与内容分离,你可以让不同的人执行不同的任务:你的网页设计专家可以使用熟悉的工具构建HTML,或者为servlet程序员留出插入动态内容的位置,或者通过XML标记间接调用动态内容。这是否意味着你可以只学习JSP而忽略servlet?绝对不行!
JSP开发人员需要了解servlet有四个原因:
1.JSP页面被转换成servlet。如果不理解servlet,就无法理解JSP是如何工作的。
2.JSP由静态HTML、专用JSP标签和Java代码组成。什么样的Java代码?servlet代码!如果不理解servlet编程,就不能编写代码。
3.有些任务是由servlet完成的,而不是由jsp完成的。JSP擅长生成由相当结构良好的HTML或其他字符数据的大部分组成的页面。servlet对于生成二进制数据、构建具有高度可变结构的页面以及执行很少或没有输出的任务(如重定向)都比较好。
4.一些任务通过servlet和jsp的组合比单独通过servlet或jsp更好地完成。
2.4与JavaScript相比
JavaScript与Java编程语言完全不同,通常用于在客户端动态生成HTML,在浏览器加载文档时构建Web页面的部分。这是一种有用的功能,通常不会与JSP(仅在服务器上运行)的功能重叠。JSP页面仍然包括JavaScript的脚本标记,就像普通的HTML页面一样。实际上,JSP甚至可以用来动态生成将发送到客户机的javascript。
因此,JavaScript不是一种竞争性的技术,它是一种互补的技术。
在服务器上也可以使用JavaScript,尤其是在Sun ONE(以前叫iPlanet)、IIS和Broadvision服务器上。然而,Java更强大、更灵活、更可靠、更便于携带。
2.5与WebMacro或Velocity JSP的对比决不是完美的
许多人指出了可以改进的特性。这是一件好事,JSP的一个优点是规范由一个社区控制,这个社区来自许多不同的公司。因此,该技术可以在连续的版本中包含改进。
然而,一些组织已经开发了基于Java的替代技术来解决这些缺陷。
在我们看来,这是一个错误。使用第三方工具(如ApacheStruts)来增强JSP和servlet技术是一个好主意,当该工具增加了足够的好处来补偿额外的复杂性时。但是使用一个非标准的工具来替换JSP是一个坏主意。选择技术时,需要权衡许多因素:标准化、可移植性、集成、行业支持和技术特性。JSP替代方案的争论几乎只集中在技术特性部分。但是可移植性、标准化和集成也非常重要。例如,servlet和jsp规范为Web应用程序定义了标准目录结构,并提供用于部署Web应用程序的标准文件(.war文件)。所有与JSP兼容的服务器都必须支持这些标准。过滤器可以设置为应用于任何数量的servlet或jsp页面,但不能应用于非标准资源。Web应用程序安全设置也是如此。
此外,对JSP和servlet技术的巨大行业支持带来了改进,减轻了对JSP的许多批评。例如,JSP标准标签库和JSP 2表达式语言解决了两个最有根据的批评:缺少良好的迭代构造和访问动态结果的困难,而不使用显式Java代码或冗长的JSP:UeBeA元素。
3.对JSP的误解
忘记JSP是服务器端技术
以下是马蒂收到的一些典型问题(其中大部分是重复的)。
bull;我们的服务器正在运行JDK 1.4。那么,如何在JSP页面中放置Swing组件呢?
bull;如何将图像放入JSP页面?我不知道合适的Java I/O命令来读取图像文件。
bull;既然Tomcat不支持javascript,那么当用户将鼠标移到图像上时,如何使其突出显示?bull;我们的客户使用不理解JSP的旧浏览器。我们该怎么办?
bull;当我们的客户在浏览器中使用“查看源代码”时,我如何防止他们看到JSP标记?
所有这些问题都是基于这样一个假设:浏览器对服务器端流程有所了解。但他们没有。因此:
将applet与Swing组件放在网页中,重要的是浏览器的Java版本,服务器的版本是不相关的。如果浏览器支持Java 2平台,则使用正常的applet(或Java插件)标签,即使在服务器上使用非Java技术,也会这样做。
你不需要Java I/O来读取图像文件;你只需将图像放在Web资源的目录中(即,从Web-INF/类中升级两个级别),并输出正常的IMG标签。
bull;使用脚本标记引用的客户端JavaScript创建在鼠标下更改的图像;这不会因为服务器使用JSP而更改。
bull;浏览器根本不“支持”JSP,它们只看到JSP页面的输出。因此,请确保JSP输出的HTML与浏览器兼容,就像处理静态HTML页面一样。
bull;当然,你不需要做任何事情来防止客户机看到JSP标记;这些标记在服务器上处理,并且不是发送给客户机的输出的一部分。将翻译时间与请求时间混淆
JSP页被转换为servlet。servlet被编译、加载到服务器的内存中、初始化并执行。但什么时候会发生呢?要回答这个问题,请记住两点:
bull;JSP页面被转换为servlet,并且只在修改后第一次访问时进行编译。
bull;载入内存、初始化和执行遵循servlet的正常规则。
最常被误解的条目会突出显示。在引用该表时,请注意,JSP页产生的servlet使用的是jspservice方法(同时调用get和post请求),而不是doget或dopost。
此外,对于初始化,它们使用的是jsp init方法,而不是转换为servlet的init method.jsp页面,servlet编译后的servlet加载到服务器的内存中,jsp init称为jspservice。
4.什么是应用框架:
框架是一个可重用的、半完整的应用程序,可以专门用于生成自定义应用程序[Johnson]。和人一样,软件应用程序更相似,而不是不同。它们在相同的计算机上运行,期望来自相同设备的输入,输出到相同的显示器,并将数据保存到相同的硬盘。在传统桌面应用程序上工作的开发人员习惯于使用工具包和开发环境,它们利用应用程序之间的相同性。应用框架构建在这个共同的基础上,为开发人员提供一个可重用的结构,可以作为他们自己产品的基础。
框架为开发人员提供了一组具有以下特征的主干组件:
1.众所周知,它们在其他应用中工作良好。
2.它们可以用于下一个项目。
3.它们也可以被组织中的其他团队使用。
框架是典型的构建与购买方案。
如果你建造了它,当你完成的时候你会理解它,但是要多久你才能开始自己的工作呢?如果你买了它,你将不得不爬上学习曲线,这需要多长时间?这里没有正确的答案,但是大多数观察家都同意Struts这样的框架与从头开始相比,提供了显著的投资回报,特别是对于大型项目。其他类型的框架:
框架的概念不仅适用于应用程序,也适用于应用程序组件。
在本文中,我们将介绍可以与Struts一起使用的其他类型的框架。其中包括Lucene搜索引擎、scaffold工具包、Struts验证器和tiles标签库。与应用程序框架一样,这些工具提供了一个子系统的半完整版本,该子系统可以专门用于提供自定义组件。
一些框架已经链接到一个专有的开发环境。
对于Struts或本书中显示的任何其他框架,情况并非如此。你可以使用Struts开发环境:VisualAdvestfor Java、JBuilder、Eclipse、Emacs和TeBPAD都是Struts开发人员的热门选择。如果你可以使用Java,可以使用Struts。
使能技术:
使用Struts开发的应用程序基于许多启用技术。这些组件不是特定于Struts的,而是每个Java Web应用程序的基础。
开发人员使用Struts这样的框架的一个原因是为了隐藏缩写词(如http、cgi和jsp)背后的令人讨厌的细节。
作为Struts开发人员,你不需要成为字母汤专家,但是这些基础技术的工作知识可以帮助你设计解决棘手问题的创造性解决方案。
HTTP超文本传输协议
当调停国家间的谈判时,外交官通常遵循一个正式的协议。外交协议旨在避免误解,防止谈判破裂。
在类似的情况下,当计算机需要对话时,它们也遵循一个正式的协议。协议
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[441265],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。