• JavaWeb总结(十二)


    JSP指令

      提供整个JSP页面的相关信息

      用于JSP页面与容器之间的通信

    <%@ directive attribute1="value1" attribute2="value2" %>
    <!-- 如果有多个属性,也可以分开写: -->
    <%@ directive attribute1="value1" %>
    <%@ directive attribute2="value2" %>
    <!-- 实例 -->
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!-- 多个指令分开写 -->
    <%@ page import="java.lang.*" %>
    <%@ page import="java.util.*" %>

    在JSP中,有三种类型的指令

      page指令——为当前页面提供处理指令

        页面指令的功能是设定整个JSP页面的属性和相关功能

        语法格式为:

    <%@ page attribute1="value1" attribute2="value2"  %>
    <!-- page指令也支持以XML为基础的语法,例如:-->
    <jsp:directive.page attribute1="value1" attribute2="value2" />

    属性名

    默认值

    language

    脚本语言名称

    "java"

    Info

    网页信息

    contentType

    MIME类型和JSP编码

    "text/html;charset=ISO-8859-1"

    import

    类和包

    none

    buffer

    缓冲区大小

    8192

    autoFlush

    缓冲满,刷新还是抛出异常

    "true"

    session

    访问页面是否创建会话

    "true"

    isThreadSafe

    线程是否安全

    "true"

    errorPage

    URL

    none

    isErrorPage

    布尔值

    "false"

      include指令——用于把另一个文件包含在JSP中

        include指令表示在JSP编译时插入一个包含文本或者代码的文件

        把文件中的文本静态地包含过去 

        语法格式为:

    <%@ include file="relativeURL" %>
    <!--"relativeURL"为要包含进来的文件,可以是HTML、JSP文件,也可以是其它格式的文本文件。
    include指令也支持以XML为基础的语法,如:-->
    <jsp:directive.include file="relativeURL" />

     

    <!-- error_500_page.jsp -->
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    Error_500;
    <%@ include file="error_404_page.jsp" %>
    </body>
    </html>
    <!-- error_404_page.jsp -->
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    Error_404;
    </body>
    </html>

     

        运行服务器,打开页面error_500_page

     

    Error_500_page(<%@ include %>)

    Error_500_page(<%@ include %>)翻译成的Java文件内容(局部)

    提示:翻译后和编译后的文件可以在工程服务器里查找,我的文件目录是(可参考):D:Javacode.metadata.pluginsorg.eclipse.wst.server.core mp0workCatalinalocalhostTestorgapachejspjsp

    仔细看就能发现,是error_500_page.jsp内容里面包含了error_404_page.jsp里面的所有内容,包含html、head、body等所有标签。如果存在重复标签或者id名就会出现一些不必要的麻烦。

    注意:被包含的文件不要与包含文件存在重复HTML标签,而且不能是URL变量

      标准动作:<jsp:include>动作是一种动态包含

        修改error_500_page.jsp的语句

    <%--把<%@ include file="error_404_page.jsp" %>修改为下面的代码--%>

    <jsp:include page="error_404_page.jsp"></jsp:include>

     

    Error_500_page(<jsp:include>)

     

    Error_500_page(<jsp:include>)翻译成的Java文件内容(局部)

        由此可见,error_500_page.jsp内容里面没有包含error_404_page.jsp里面的内容,而是以一串指令代替。

      动态和静态的区别是什么?

    - included动作比included指令在维护上有着明显优势,而included指令的功能更加强大,执行速度也比included动作快。

    - included指令只能生成一个servlet,而included动作可以生成多个Servlet

    - included指令包含的是被包含页面的真实代码,而included动作包含的是相应代码

    - included指令发生在页面编译时,而included动作发生在页面请求时

    - included指令做出的人任何修改必须重启当前Web才能生效,而included动作保存即生效

    - included指令不能实现在请求区间内共享对象,而included动作支持在请求区间内共享对象 

    - included指令适用于静态页面包含,而included动作适合动态页面包含

      taglib指令——指定如何包含和访问自定义标签库

    <jsp:forward>动作

      将客户端所发出来的请求,从一个JSP网页转发到另一个JSP页面

    <!--语法格式为:-->
    <jsp:forward page="relativeURL" />
    <!--控制权交给了另一个JSP,和Java代码中的request的请求派发功能相似(可以访问WEB-INF目录)request.getRequestDispatcher("").forward(request,response);-->

    JSP九大隐式对象   

      在JSP中操纵请求、响应、会话以及其它Servlet中使用的对象 

    对象名

    描述

    作用域

    request

    代表与请求相关的HttpServletRequest对象

    request

    response

    代表与响应相关的HttpServletResponse对象

    page

    pageContext

    代表封装请求某个JSP页面时请求环境的pageContext对象

    page

    session

    代表特定用户请求会话的HttpSession对象。该对象只有在JSP页面参与一个HTTP会话时才有意义

    session

    application

    代表Web应用程序的ServletContext对象

    application

    out

    代表与响应输出流相关的JspWriter对象

    page

    config

    代表JSP 页面的Servlet相关的ServletConfig对象

    page

    page

    等于Java编程语言中的this变量

    page

    exception

    代表JSP页面抛出的Trowable对象。这个对象只能在JSP错误页面中使用

    page

     

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    Introduction to XQuery in SQL Server 2005
    [译]Cassandra 架构简述
    冬日绘版实录
    网页实现串口TCP数据通讯的两种方案
    (转)感知哈希算法
    CoreParking
    单线程扫描电脑所有文件与并行计算扫描电脑所有文件所用时间?
    强名称程序集
    一些题(六)
    一些题(五)
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/5981866.html
Copyright © 2020-2023  润新知