文章目录
-
- JSP 全称是 Java Server Pages,是一种动态网页开发技术。 它与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。 JSP 是一种 Java Servlet,主要用于实现 Java Web 应用程序的用户界面部分。 JSP 技术以 Java 语言作为脚本,它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP文件后缀名为(*.jsp)。 JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。
- 与 ASP 相比: 动态部分用 Java 编写,所以更加强大易用 可以移植到多种不同的服务器和操作系统 与 PHP 相比: 更好的工具支持 与 Servlet 相比: 创建 HTML 更方便 与 Javascript 相比: 虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
-
- JSP 是一种 Servlet,但是它与 HttpServlet 的工作方式不太一样: HttpServlet 是先编译后部署:先将源代码编译为 class 文件,然后部署到服务器下 JSP 是先部署后编译:先部署代码,然后编译为 class 文件。JSP 会在客户端第一次请求 JSP 文件时被编译为 HttpJspPage 类。该类会被服务器临时存放在服务器工作目录里面。 由于 JSP 只在客户端第一次请求时被编译,所以第一次请求 JSP 时会感觉比较慢。
- 以下步骤表明了Web服务器是如何使用JSP来创建网页的: 就像其他普通的网页一样,您的浏览器发送一个HTTP请求给服务器。 Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎。通过使用URL或者.jsp文件来完成。 JSP引擎从磁盘中载入JSP文件,然后将它们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的JSP元素转化成Java代码。 JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。 Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。 Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中。 最终,Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。 以上提及到的步骤可以用下图来表示:
- JSP 也是一种 Servlet,运行时只有一个实例,它也有生命周期。 以下是JSP生命周期中所走过的几个阶段: 编译阶段:servlet容器编译servlet源文件,生成servlet类 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法 执行阶段:调用与JSP对应的servlet实例的服务方法 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例 很明显,JSP生命周期的四个主要阶段和servlet生命周期非常相似,下面给出图示: 例 JSP生命周期代码实例 <%@ page contentType=”text/html; charset=GB2312″ %><html><head><title>life.jsp</title></head><body> <%! private int initVar=0; private int serviceVar=0; private int destroyVar=0;%> <%! public void jspInit(){ initVar++; System.out.println(“jspInit(): JSP被初始化了”+initVar+”次”); } public void jspDestroy(){ destroyVar++; System.out.println(“jspDestroy(): JSP被销毁了”+destroyVar+”次”); }%> <% serviceVar++; System.out.println(“_jspService(): JSP共响应了”+serviceVar+”次请求”); String content1=”初始化次数 : “+initVar; String content2=”响应客户请求次数 : “+serviceVar; String content3=”销毁次数 : “+destroyVar;%> <h1><%=content1 %></h1><h1><%=content2 %></h1><h1><%=content3 %></h1> </body></html>
- Java Web 整合开发 http://www.w3cschool.cc/jsp/jsp-tutorial.html
目录
1.1 概述
1.1.1 什么是 JSP?
1.1.2 JSP 的优点
1.2 工作原理
1.2.1 JSP 和 Servlet的区别
1.2.2 JSP 工作原理
1.3 生命周期
参考资料
JSP 全称是 Java Server Pages,是一种动态网页开发技术。
它与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。
JSP 是一种 Java Servlet,主要用于实现 Java Web 应用程序的用户界面部分。
JSP 技术以 Java 语言作为脚本,它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP文件后缀名为(*.jsp)。
JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。
与 ASP 相比:
动态部分用 Java 编写,所以更加强大易用
可以移植到多种不同的服务器和操作系统
与 PHP 相比:
更好的工具支持
与 Servlet 相比:
创建 HTML 更方便
与 Javascript 相比:
虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
JSP 是一种 Servlet,但是它与 HttpServlet 的工作方式不太一样:
HttpServlet 是先编译后部署:先将源代码编译为 class 文件,然后部署到服务器下
JSP 是先部署后编译:先部署代码,然后编译为 class 文件。JSP 会在客户端第一次请求 JSP 文件时被编译为 HttpJspPage 类。该类会被服务器临时存放在服务器工作目录里面。
由于 JSP 只在客户端第一次请求时被编译,所以第一次请求 JSP 时会感觉比较慢。
以下步骤表明了Web服务器是如何使用JSP来创建网页的:
就像其他普通的网页一样,您的浏览器发送一个HTTP请求给服务器。
Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎。通过使用URL或者.jsp文件来完成。
JSP引擎从磁盘中载入JSP文件,然后将它们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的JSP元素转化成Java代码。
JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。
Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。
Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中。
最终,Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。
以上提及到的步骤可以用下图来表示:

JSP 也是一种 Servlet,运行时只有一个实例,它也有生命周期。
以下是JSP生命周期中所走过的几个阶段:
编译阶段:servlet容器编译servlet源文件,生成servlet类
初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
执行阶段:调用与JSP对应的servlet实例的服务方法
销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
很明显,JSP生命周期的四个主要阶段和servlet生命周期非常相似,下面给出图示:

例
JSP生命周期代码实例

<%@ page contentType=”text/html; charset=GB2312″ %>
<html><head><title>life.jsp</title></head><body>
<%!
private int initVar=0;
private int serviceVar=0;
private int destroyVar=0;
%>
<%!
public void jspInit(){
initVar++;
System.out.println(“jspInit(): JSP被初始化了”+initVar+”次”);
}
public void jspDestroy(){
destroyVar++;
System.out.println(“jspDestroy(): JSP被销毁了”+destroyVar+”次”);
}
%>
<%
serviceVar++;
System.out.println(“_jspService(): JSP共响应了”+serviceVar+”次请求”);
String content1=”初始化次数 : “+initVar;
String content2=”响应客户请求次数 : “+serviceVar;
String content3=”销毁次数 : “+destroyVar;
%>
<h1><%=content1 %></h1>
<h1><%=content2 %></h1>
<h1><%=content3 %></h1>
Java Web 整合开发
http://www.w3cschool.cc/jsp/jsp-tutorial.html
发表回复