第3课:什么是JSP (黄菊华Java网站开发系列教程)

什么是JSP

JSP概述

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。
JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
JSP文件后缀名为 *.jsp 。
JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

什么是Java Server Pages?

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头 以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

为什么使用JSP?

JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:
性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。
服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。
JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。
JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。
最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。

JSP的优势

以下列出了使用JSP带来的其他好处:

与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
与静态HTML相比:静态HTML不包含动态信息。

JSP页面的组成

在 HTML 页面文件中加入 Java 程序段和 JSP 标签,即可构成一个 JSP 页文件,JSP 页面由多种元素组合而成。
 普通的 HTML 标记符。
 JSP 标签,如指令标签、动作标签。
 变量和方法的声明。
 Java 程序段。
 Java 表达式。
当服务器上的 JSP 页面被第一次请求执行时,服务器上的 JSP 引擎首先将 JSP 页面文件转译成 Java 文件,再将 Java 文件编译,生成字节码文件,然后通过执行字节码文件响应客户的请求,这个字节码文件的任务如下。
把 JSP 页面中普通的 HTML 标记符号交给客户的浏览器执行并显示。
JSP 标签、数据和方法声明、Java 程序段由服务器负责执行,将需要显示的结果发送给客户的浏览器。
Java 表达式由服务器负责计算,并将结果转化为字符串,然后交给客户的浏览器负责显示。

JSP页面中的元素

Java Server Pages(JSP)能够分离页面的静态 HTML 和动态部分。HTML 可以用任何通常使用的 Web 制作工具编写,编写方式也和原来的一样;动态部分的代码放入特殊标记之内,大部分以“<%”开始,以“%>”结束。例如我们第一个JSP程序中的代码:

<%
    out.println("Hello World");
%>

JSP 页面文件通常以 .jsp 为扩展名,而且可以安装到任何能够存放普通 Web 页面的地方。虽然从代码编写来看,JSP 页面更像普通 Web 页面而不像 Servlet,但实际上,JSP 最终会被转换成正规的 Servlet,静态 HTML 直接输出到和 Servlet service 方法关联的输出流。
JSP 到 Servlet 的转换过程一般在出现第一次页面请求时进行。因此,如果希望第一个用户不会由于 JSP 页面转换成 Servlet 而等待太长的时间,并且希望确保 Servlet 已经正确地编译并装载,你可以在安装 JSP 页面之后自己请求这个页面,这样 JSP 页面就转换成 Servlet 了。
另外也请注意,许多 Web 服务器允许定义别名,所以一个看起来指向 HTML 文件的 URL 实际上可能指向 Servlet 或 JSP 页面。
除了普通 HTML 代码之外,嵌入 JSP 页面的其他成分主要有三种:脚本元素(Scripting Element)、指令(Directive)和动作(Action)。
脚本元素用来嵌入 Java 代码,这些 Java 代码将成为转换得到的 Servlet 的一部分;JSP 指令用来从整体上控制 Servlet 的结构;动作用来引入现有的组件或者控制 JSP 引擎的行为。为了简化脚本元素,JSP 定义了一组可以直接使用的变量(预定义变量)。

【Java网站开发参考资料】

(1)Java网站开发学习路线 http://www.hzyaoyi.cn/jsp/

(2)Javaweb新手入门学习实战课 https://ke.qq.com/course/package/30139

(3)小白教程资料 http://www.2d5.net

(4)毕业设计网http://www.pc-365.net

(5)小程序编程网www.4317.org

(6)计算机编程网http://www.05423.com/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄菊华老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值