莱州教研室网站,怎么免费创建自己的网站平台,全国最大的源码平台,潍坊专职消防员一、jsp简介 JSP#xff08;全称Java Server Pages#xff09;是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求#xff0c;而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。 JSP 技术是以 Java 语言作为脚本语言的全称Java Server Pages是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。 JSP 技术是以 Java 语言作为脚本语言的JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。 二、JSP 生命周期
理解JSP底层功能的关键就是去理解它们所遵守的生命周期。 JSP生命周期就是从创建到销毁的整个过程类似于servlet生命周期区别在于JSP生命周期还包括将JSP文件编译成servlet。 以下是JSP生命周期中所走过的几个阶段 编译阶段加载与JSP对应的servlet类创建其实例并调用它的初始化方法 初始化阶段调用与JSP对应的servlet实例的服务方法 执行阶段调用与JSP对应的servlet实例的销毁方法然后销毁servlet实例 销毁阶段servlet容器编译servlet源文件生成servlet类 三、jsp语法 1脚本程序语法 % % 或 jsp:scriptlet /jsp:scriptlet 2声明语法 %! %3表达式语法 % % 4注释语法 %-- --% 四、指令 1page A、属性 buffer 指定out对象使用缓冲区的大小 autoFlush 控制out对象的 缓存区 contentType 指定当前JSP页面的MIME类型和字符编码 errorPage 指定当JSP页面发生异常时需要转向的错误处理页面 isErrorPage 指定当前页面是否可以作为另一个JSP页面的错误处理页面 extends 指定servlet从哪一个类继承 import 导入要使用的Java类 info 定义JSP页面的描述信息 isThreadSafe 指定对JSP页面的访问是否为线程安全 language 定义JSP页面所用的脚本语言默认是Java session 指定JSP页面是否使用session isELIgnored 指定是否执行EL表达式 isScriptingEnabled 确定脚本元素能否被使用 B、Page指令的语法格式 % page attributevalue % 等价的XML格式 jsp:directive.page attributevalue / 2include % include file文件相对 url 地址 % include 指令中的文件名实际上是一个相对的 URL 地址。如果您没有给文件关联一个路径JSP编译器默认在当前路径下寻找。 等价的XML语法 jsp:directive.include file文件相对 url 地址 / 3taglib JSP API允许用户自定义标签一个自定义标签库就是自定义标签的集合。 Taglib指令引入一个自定义标签集合的定义包括库路径、自定义标签。 Taglib指令的语法 % taglib uriuri prefixprefixOfTag % uri属性确定标签库的位置prefix属性指定标签库的前缀。 等价的XML语法 jsp:directive.taglib uriuri prefixprefixOfTag / 五、动作元素 jsp:include 在页面被请求的时候引入一个文件。 jsp:useBean 寻找或者实例化一个JavaBean。 jsp:setProperty 设置JavaBean的属性。 jsp:getProperty 输出某个JavaBean的属性。 jsp:forward 把请求转到一个新的页面。 jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。 jsp:element 定义动态XML元素 jsp:attribute 设置动态定义的XML元素属性。 jsp:body 设置动态定义的XML元素内容。 jsp:text 在JSP页面和文档中使用写入文本的模板 六、九大隐式对象 request HttpServletRequest类的实例 response HttpServletResponse类的实例 out JspWriter类的实例用于把结果输出至网页上 session HttpSession类的实例 application ServletContext类的实例与应用上下文有关 config ServletConfig类的实例 pageContext PageContext类的实例提供对JSP页面所有对象以及命名空间的访问 page 类似于Java类中的this关键字 Exception Exception类的对象代表发生错误的JSP页面中对应的异常对象 七、 标准标签库JSTL 1根据JSTL标签所提供的功能可以将其分为5个类别 核心标签 格式化标签 SQL 标签 XML 标签 JSTL 函数 2配置jstl a.web.xml声明 jsp-config
taglib
taglib-urihttp://java.sun.com/jstl/xxx/taglib-uri
taglib-location/WEB-INF/xxx.tld/taglib-location
/taglib
/jsp-config
b.jsp页面引用 % taglib prefixx urihttp://java.sun.com/jsp/jstl/xxx % 八、表达式语言 1el表达式语法 ${expr} 2el表达式配置 在jsp页面声明是否启用el表达式 % page isELIgnored true|false % 3el表达式操作符 . 访问一个Bean属性或者一个映射条目 [] 访问一个数组或者链表的元素 ( ) 组织一个子表达式以改变优先级 加 - 减或负 * 乘 / or div 除 % or mod 取模 or eq 测试是否相等 ! or ne 测试是否不等 or lt 测试是否小于 or gt 测试是否大于 or le 测试是否小于等于 or ge 测试是否大于等于 or and 测试逻辑与 || or or 测试逻辑或 ! or not 测试取反 empty 测试是否空值 4EL的函数 EL函数语法 ${ns:func(param1, param2, ...)} ns指的是命名空间namespacefunc指的是函数的名称param1指的是第一个参数param2指的是第二个参数以此类推。 要使用任何标签库中的函数您需要将这些库安装在服务器中然后使用taglib标签在JSP文件中包含这些库。 5EL隐含对象 pageScope page 作用域 requestScope request 作用域 sessionScope session 作用域 applicationScope application 作用域 param Request 对象的参数字符串 paramValues Request对象的参数字符串集合 header HTTP 信息头字符串 headerValues HTTP 信息头字符串集合 initParam 上下文初始化参数 cookie Cookie值 pageContext 当前页面的pageContext 九、 异常处理 1Exception对象 exception对象是Throwable子类的一个实例只在错误页面中可用。下表列出了Throwable类中一些重要的方法: public String getMessage() 返回异常的信息。这个信息在Throwable构造函数中被初始化public ThrowablegetCause() 返回引起异常的原因类型为Throwable对象public String toString() 返回类名public void printStackTrace() 将异常栈轨迹输出至System.errpublic StackTraceElement [] getStackTrace() 以栈轨迹元素数组的形式返回异常栈轨迹public ThrowablefillInStackTrace() 使用当前栈轨迹填充Throwable对象 2jsp页面声明异常页 % page isErrorPagetrue % 3jsp页面设置异常页 % page errorPageShowError.jsp %