1.JSP:(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
2.第一个JSP程序
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>第一个JSP程序</title>
</head>
<body>
<%
out.println("Hello World!");
%>
</body>
</html>
3.JSP生命周期:
编译阶段:
Servelet容器编译Servelet源文件,生成servelet类
编译的过程包括三个步骤:
解析JSP文件。
将JSP文件转为servlet。
编译servlet。
初始化阶段:
加载与JSP对应的Servelet类,创建其实例,并调用它的初始化方法
执行阶段:
调用与JSP对应的Servelet实例的服务方法
销毁阶段:
调用与JSP对应的Servelet实例的销毁方法,然后销毁Servelet实例jspDestroy()方法在JSP中等价于servlet中的销毁方法。
4.JSP标签
<% 代码片段 %>
<%
5.JSP注释
<%-- --%>
6.JSP输出
<%=%>
7.JSP中的三种指令标签:
<%@ page ... %>
定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %>
包含其他文件
<%@ taglib ... %>
引入标签库的定义
8. JSP九大内置对象
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
9.作用域
域 | 默认值 |
---|---|
PAGE_SCOPE | 1 |
REQUEST_SCOPE | 2 |
SESSION_SCOPE | 3 |
APPLICATION_SCOPE | 4 |