zoukankan      html  css  js  c++  java
  • 《JSP技术大全》笔记

    1. 三个伪指令
    1.1 <%@ page%>
    语法: <%@ page attribute=”value” attribute=”value” … %>
    属性:
    language=”java”,目前仅java
    extends=”classeName”,指定当前jsp应该作为哪个超类的子类,一般不用设置
    import=”importList”,引入jsp中要用到类
    session=”true|false”,指定jsp页面是否需要一个session,默认true。一般不用设置
    buffer=”none|size”,描述jsp采用的输出缓存模型,默认8k,一般不用设置。与aotoFlus和配合使用
    aotoFlush=”true|false”
    isThreadSafe=”true|false”,默认true, 一般不用设置
    info=”info_text”,jsp页面的一些描述性信息,可以用servlet的getServletInfo()得到
    contentType=”ctinfo”,请求应用返回一个HTTP Content-Type头标,一般为contentType=”type/subtype; charset=charset”,例如:<%@ page contentType=”text/html; charset=utf-8” %>
    errorPage=”error_url”,指定如果该jsp页面出错将显示那个页面
    isErrorPage=”true|false”,如果为true则声明了该页面是其它jsp页面出错后显示的页面
    1.2 <%@ include%>
    语法: <%@ include file=”filename” %>
    说明:filename必须是相对的URL文档,即只能包含路径信息,没有协议或服务器信息。以“/”开始,被认为是相对servlet上下文根的绝对路径。否则,文件名被认为是相对于当前JSP页面的。
    在JSP被容器转换成servlet前首先将filename中的文本复制到相应位置,然后再转换为servlet。如果当前JSP页面中存在多个<%@ include%>伪指令,则根据出现的前后顺序依次复制过来。
    1.3 <%@ taglib%>
    语法:<%@ taglib url=”tagLIbraryURL” prefix=”tagPrefix” %>
    启用已经定义过的一个标签库
    tagLIbraryURL:标签库描述器的url
    tagPrefix:用于标识在页面后面部分使用定制标签的唯一前缀
    例如:如果abc.tld定义了一个名为table的标签,那么我们可以
    <%@ taglib url=”/tlds/abc.tld” prefix=”ft” %>
    然后就可以用该标签<ft:table> …</ft:table>
    2. 两种注释
    <%-- 仅jsp可见 --%>
    <!-- html中也可见 -->
    3. 表达式
    <%= exp%>
    4. scriptliet: 多个jsp语句的集合
    <% statement;[statement;…]%>
    scriptliet在servlet中的service() 方法中
    5. 声明
    <%! statement;[statement;…]%>
    声明在servlet中的service() 方法之外,注意与scriptliet区别
    6. 隐含变量
    request(常用)
    response(常用)
    pageContext
    session(常用)
    application
    out(常用)
    config
    page
    exception
    7. 标准行为
    7.1. 概念
    行为是创建、修改或使用对象的高层jsp元素。行为遵守严格的xml语法:
    <tagname [attr=”value” attr=”value”…]>…</tagname>
    如果没有行为主体可简化为:<tagname [attr=”value” attr=”value”…] / >
    7.2. 7种标准行为标签
    <jsp:useBean>…< /jsp:useBean >
    <jsp:setProperty … />
    <jsp:getProperty … />
    <jsp:include >…</jsp: include >
     语法:<jsp:include page=”resourcename” flush=”true” />
     说明: resourcename 路径规则同<%@ include%>
     表达式语法:<jsp:include page=”<%= jspfile %>” flush=”true” />
     向被调用的jsp页面传递参数:
    <jsp:include page=”pageName” flush=”true”>
    <jsp:parm name=”parm1Name” value=”parm1Value” />
    <jsp:parm name=”parm2Name” value=”parm2Value” />
    </jsp:include>
    <jsp:forward>…</jsp: forward >
    <jsp:param>…</jsp: param >
    <jsp:plugin>…</jsp: plugin >
    7.3. <jsp:include >…</jsp: include >与<%@ include%>的区别
    <%@ include%>伪指令:用于在JSP源码被转换成JavaServlet源码和被编译前将静态文本复制到其中。也就是在JSP中出现<%@ include%>的地方将<%@ include%>所包含的文件内容直接拷贝到此处,以此实现将变化和不变化的代码分离。典型情况下,文本为HTML代码,但它可以是在JSP页面内显示的任何内容。
    <jsp:include … />行为:使得servlet引擎调用另一URL,生成带有最初JSP页面的输出。
    在构建一种思维模式的关键一点是<%@ include%>伪指令在编译时只执行一次,而<jsp:include >行为每次进行请求时都执行。<jsp:include >行为更像一个C语言的函数调用,因为在Tomcat编译后的源码中可以看见将<jsp:include >翻译为:pageContext.include(“resourcename”)。
    此外还必须注意包含与被包含文件之间命名的冲突问题。
    8. 标签扩展
    除了以上7种标准行为的基本标签外,可以自由的扩展标签
    步骤:1)定义标签
       2)编写标签库描述器的接口(创建TLD入口)
       3)编写标签处理器
        4)在JSP页面中使用标签
    9. JSP与XML
    9.1. DTD(文档类型定义,Document Type Definition): 用来定义XML元素及其规则
    9.2. XML解析器
    1) DOM(Document Object Module) 文档对象模型
    2) SAX(Simple API for XML) XML的简单API
    SAX 较 DOM有很多优点
    可以使用XSLT处理器和XSL样式单转换XML
  • 相关阅读:
    《Head First 设计模式》 第八、九章 模板方法模式、迭代器模式、组合模式
    《Head First 设计模式》 第十、十一章 状态模式、代理模式
    《Head First 设计模式》 第六、七章 命令模式、适配器模式、外观模式
    《Head First 设计模式》 第四、五章 工厂模式、单例模式
    敏捷软件开发 第十章、第十一章、第十二章
    《Head First 设计模式》 第二、三章 观察者模式、装饰者模式
    二叉树-面试题27-二叉树的镜像
    堆栈-155-最小栈
    堆栈-20-有效括号
    java编程基础(六)----泛型
  • 原文地址:https://www.cnblogs.com/tuantuan/p/454158.html
Copyright © 2011-2022 走看看