JSP技术
在动态网页开发中,经常需要动态生成HTML内容。为了克服Servlet的这些缺点,Oracle公司推出了JSP技术
JSP技术全名是JAVA Server pages,它是建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码是与JAVA代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。
JSP技术的特点:跨平台、业务代码相分离、组件重用、预编译。
一、JSP运行原理
JSP的工作模式是请求/响应模式,客户端首先发出HTTP请求,JSP程序收到请求后进行处理并返回处理结果。
当第一次访问jsp页面时,会向一个servlet容器(tomcat等)发出请求,servlet容器先要把 jsp页面转化为servlet代码(.java),再编译成.class 文件 再进行调用。当再次访问jsp页面时 跳过翻译和编译的过程 直接调用
二、JSP基本语法
1.JSP脚本元素
JSP脚本元素主要包含如下3中类型:
JSP Scriptlets
JSP 声明语句
JSP 表达式
JSP Scriptlets是一段代码段。当需要使用JAVA实现一些复杂操作或控制时,可以使用JSP Scriptlets的语法格式如下: <% 代码 (变量、方法、表达式) %>
在JSP Scriptlets中声明的变量是JSP页面的局部变量,调用JSP Scriptlets时,会为变量分配内存空间,调用结束后,释放局部变量占有内存空间
JSP声明语句
<%!
定义的变量或方法等
%>
JSP表达式
JSP表达式(expression)用于将程序数据输出到客户端,它将要输出的变量或者表达式直接封装在“<%=“开头和以”%>"结尾的标记中
JSP注释
JSP也有自己的注释方式,基本语法格式如下:
<%-- 注释信息 --%>
2.JSP指令
page指令 — 属性最多的指令(实际开发中page指令默认)
属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= “属性值1” 属性名2= “属性值2” …%>
include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file=“被包含的文件地址”%>
JSP隐士对象
jsp隐式对象是jsp容器为每个页面提供的java对象,开发者可以直接使用它且不用显式声明,所以隐式对象又称预定义变量
request HttpServletRequest接口实例
response HttpServletResponse接口实例
PageContext PageContext类的实例,为我们提供了所有jsp程序执行过程中所需要属性及方法.
page 类似于java类中的this关键字,代指当前的servlet
Sesservletsion Http Session实例
application ServletContext实例,与应用上下文有关
out JspWriter类实例,将结果输出到网页上
Config ServletConfig列实例
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象