不完全翻译,结合谷歌,一定主观性,还可能有误,原始内容地址:https://www.tutorialspoint.com/jsp/jsp_overview.htm

主要内容如下:

  1. 什么是JSP?
  2. 为什么使用JSP?

什么是JSP?

JavaServer Pages (JSP)是一种用于开发支持动态内容的Web页面的技术.开发人员可以通过使用特殊的JSP标签在HTML页面中插入Java代码,这些标签大部分以<%开头,以%>结尾。

JSP事实上是一种Java servlet,旨在方便实现Java Web应用程序的用户界面。Web开发人员将JSP作为一种文本文件(.jsp),将HTML、XHTML代码、XML元素以及嵌入式JSP操作和命令(JSP actions and commands)相结合。

使用JSP,您可以通过网页表单收集用户的输入,从数据库或其他来源呈现记录,并动态创建网页。

JSP标签可以用于各种目的,例如从数据库检索信息或注册用户偏好,访问JavaBeans组件,在页面之间传递控制(control),以及在请求,页面之间共享信息。

【注释】registering user preferences???

Why Use JSP?

JavaServer Pages的用法通常和使用通用网关接口(CGI)实现的程序类似。但与CGI相比,JSP提供了几个优点。

【注释】Common Gateway Interface - Wikipedia 通用网关接口为web服务器执行程序提供了一种标准的协议。什么是协议呢?——协议就是一系列约定俗成的动作,那么web服务器执行程序有什么“约定的动作”呢?——接收响应,动态生成页面。使用通用网关接口(CGI)实现的程序通常被叫做CGI或者CGI脚本。

  • 性能明显更好,因为JSP允许在HTML页面中嵌入动态元素,而不是具有独立的CGI文件。

  • JSP始终在执行之前被编译,不像CGI/Perl需要服务器在每次请求页面时加载解释器和目标脚本。

  • JavaServer Pages构建在Java Servlets API之上,所以像Servlets一样,JSP还可以访问所有强大的Enterprise Java API,包括JDBC,JNDI,EJB,JAXP等。

  • JSP页面可以与处理业务逻辑的servlet,Java servlet模板引擎支持的模型结合使用。

最后,JSP是Java EE的一个组成部分,它是企业级应用程序的完整平台。这意味着JSP不论在最简单的应用程序,还是在最复杂的应用程序中都有一席之地。

JSP的优点

下表列出了使用JSP优于其他技术的其他优势 -

vs. Active Server Pages (ASP)

JSP的优势是双重的。首先,动态部分是用Java编写的,而不是Visual Basic或其他MS特定语言,所以它更强大,更易于使用。其次,它可以移植到其他操作系统和非Microsoft Web服务器。

vs. Pure Servlets

编写(和修改!)常规HTML比编写HTML的println语句更方便。

【注释】这一点应该是显然的。

vs. Server-Side Includes (SSI)

SSI仅仅用于简单的包含,而不是用于使用表单数据,数据库连接等的“真实”程序。

vs. JavaScript

JavaScript可以在客户端上动态生成HTML,但几乎不能与Web服务器进行交互,以执行复杂的任务,如数据库访问和图像处理等。

【注释】Node.js的出现使JavaScript也能用于服务器端编程。JSP 在走向衰落吗?以后是 HTML5、JavaScript 和 CSS 的天下吗?

vs. Static HTML

常规HTML不能包含动态信息!

JSP笔记02——概述(转)的更多相关文章

  1. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  2. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  3. 《30天自制操作系统》笔记(02)——导入C语言

    <30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...

  4. 《The Linux Command Line》 读书笔记02 关于命令的命令

    <The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...

  5. jsp动作标签概述

    *Jsp动作标签概述: >动作标签的作用是用来简化java脚本 >jsp动作标签是JavaWeb内置的动作标签,它们是已经定义好的动作标签,我们可以拿来直接使用. >JavaWeb一 ...

  6. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  7. JS自学笔记02

    JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...

  8. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  9. CS229 笔记02

    CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ ​ $ {\bf {\t ...

随机推荐

  1. 【精】cookie、 sessionStorage 、localStorage之间的异同

    1.cookie:存储在用户本地终端上的数据.有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密.一般应用最典型的案列就是判断注册用户是否 ...

  2. Spring MVC列表多选框

    以下示例显示如何在使用Spring Web MVC框架的表单中使用列表框(Listbox).首先使用Eclipse IDE来创建一个WEB工程,实现一个让用户可选择自己所善长的技术(多选)的功能.并按 ...

  3. Cut the rope

    http://acm.nyist.net/JudgeOnline/problem.php?pid=651 描述We have a rope whose length is L. We will cut ...

  4. Classification week6: precision & recall 笔记

    华盛顿大学 machine learning :classification  笔记 第6周 precision & recall 1.accuracy 局限性 我们习惯用 accuracy ...

  5. UILabel标签文字过长时的显示方式

    lineBreakMode:设置标签文字过长时的显示方式. label.lineBreakMode = NSLineBreakByCharWrapping; //以字符为显示单位显示,后面部分省略不显 ...

  6. java编程:将数组的第一个为最大第二个为最小以此类推

    import java.util.Scanner; public class Max_Min { public static void main(String[] args) { int[] a = ...

  7. python学习【第十篇】单例设计模式

    单例设计模式 目的:让类创建对象,在系统中只有唯一的实例,让每一次创建的对象返回的内存地址都是相同的. __new__方法 使用类名创建对象时,python解释器首先会调用__new__方法为对象分配 ...

  8. 九度OJ 1358:陈博的平均主义 (遍历、递归)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:354 解决:191 题目描述: 在JOBDU团队里,陈博是最讲平均主义的人了,但并不是像梁山好汉那样能够做到有钱同花,有肉同吃,毕竟,他还是 ...

  9. 阻塞队列 ArrayBlockingQueue 我给自己挖了一个坑

    说一句MMB, 一下午时间, package cn.tbnb1.seckil.quene; import java.util.concurrent.ArrayBlockingQueue; import ...

  10. Dev GridControl 小结3

    Dev GridControl 小结 时间 2014-03-26 19:24:01  CSDN博客 原文  http://blog.csdn.net/jiankunking/article/detai ...