不完全翻译,结合谷歌,一定主观性,还可能有误,原始内容地址: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不能包含动态信息!

最新文章

  1. 从MySQL 5.5迁移到Mariadb 10.1.14
  2. CSS书写建议参考
  3. web.xml配置error-page
  4. Cubieboard2裸机开发之(五)看门狗操作
  5. 在Java中执行js代码
  6. 二分法习题HDU2199
  7. PAT (Advanced Level) 1108. Finding Average (20)
  8. Mybatis异常:java.lang.ClassNotFoundException: org.mybatis.spring.SqlSessionFactoryBean
  9. [bzoj4813][Cqoi2017]小Q的棋盘
  10. php函数long2ip与ip2long()
  11. 洛谷P3709 大爷的字符串
  12. python04 列表 元祖 字典
  13. Winform 打包 混淆 自动更新
  14. 关于RAID的概述
  15. c++ STL map 结构体
  16. 【微信小程序】下拉刷新真机测试无效
  17. linux常用命令之scp详解
  18. 20155237 2016-2017-2 《Java程序设计》第3周学习总结
  19. 【BZOJ1692】[Usaco2007 Dec]队列变换 后缀数组+贪心
  20. Linux操作系统中多线程的同步

热门文章

  1. windows下mysql表名不自动转换小写配置
  2. android JNI常用添加log方法
  3. Docker学习(1安装docker)
  4. SQL Server 还原错误“restore database正在异常终止 错误 3154”
  5. rest规范 ; restful 风格; gradel介绍 ; idea安装 ;
  6. Kubernetes入门
  7. ASP.NET通过代码给TextBox添加事件(点击显示日历)
  8. VS2012如何显示行号
  9. 关于User的一些注解
  10. 基于网页api(接口)实现查快递