Javaweb学习笔记之JSP(三):JSP 的指令

03_command.jsp

<%@ page
        contentType="text/html;charset=UTF-8"
        language="java"
        import="java.util.*"
        pageEncoding="utf-8"
        errorPage="error.jsp"
        isErrorPage="false"
        buffer="8kb"
        session="true"
        isELIgnored="false"
%>
<html>
<head>
    <title>JSP 指令</title>
</head>
<body>
<%--
    JSP 的三大指令:
        1、include 指令
            作用:用于在当前页面包含其他页面
            语法:<%@include file="" %>
            注意:
                include 包含的原理是把 被包含页面的内容原封不动的拷贝到 包含页面中,合并后翻译成一个
                java 源文件,再编译运行。这种包含叫做 静态包含,也可以叫做 源码包含。
                如果使用静态包含,被包含页面中就不需要出现一些全局的 html 标签了,只需要直接写 body 标签的内容就可以了。

        2、page 指令
            作用:告诉 tomcat 服务器如何翻译 jsp 文件;
            contentType="text/html;charset=UTF-8" -- 服务器发送给浏览器的数据类型和编码方式;
                                    -- 翻译成java代码就是:response.setContentType("text/html;charset=UTF-8");
                                    -- contentType 这个属性可以省略,省略之后 编码值参考 pageEncoding 属性;
            language="java"         -- 告诉服务器使用什么语言来翻译 jsp 文件,只能写 java;
            import="java.util.*"    -- 告诉服务器 java 文件使用什么包;多个包之间使用 逗号 分隔;
            pageEncoding="utf-8"    -- 告诉服务器使用什么编码翻译 jsp 文件;(jsp文件 -> java文件)
            errorPage="error.jsp"   -- 指定当前页面的错误处理页面,只在当前页面有效;可以在web.xml中设置全局错误处理页面:如下
                                        <!-- 配置全局错误处理页面 -->
                                        <error-page>
                                            <!-- 配置服务器异常处理页面,因为服务器异常的原因有很多,比如 空指针异常,索引越界等,
                                             都属于 500 异常,使用 jsp 页面,可以通过 exception 对象获取到具体的异常错误信息 -->
                                            <error-code>500</error-code>
                                            <location>/comment/500.jsp</location>
                                        </error-page>
                                        <error-page>
                                            <!-- 配置客户端异常处理页面,客户端一般出现最多的问题就是 404,资源未找到 -->
                                            <error-code>404</error-code>
                                            <location>/comment/404.html</location>
                                        </error-page>
                                    -- 如果既在当前页面配置了 errorPage,又在 web.xml 中配置了 <error-page>,则 errorPage 优先;
            isErrorPage="false"     -- 指定当前页面是否为错误处理页面,为 true 时可以使用 exception 对象获取异常信息;
                                    -- 为 false 则不能使用 exception 获取异常信息;
            buffer="8kb"            -- JSP 页面的缓冲区大小
            session="true"          -- 是否开启 session 功能;true表示可以使用 session 对象;false 则不能使用 session 对象;
            isELIgnored="false"     -- 是否忽略 EL 表达式(后面讲 EL 表达式的时候再说)

        3、taglib 指令
--%>
    <%-- 包含外部的页面 --%>
    <%@include file="/comment/header.jsp" %><br>
    03_command.jsp 页面

    <%
        /*
        当前页面定义了属性 errorPage="error.jsp",所以当前页面出现错误时会跳转到 error.jsp 页面;
        */
        String name = null;
        char c = name.charAt(1); // 由于 name=null,所以此处会报 空指针异常
    %>
</body>
</html>

header.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
网站头页面的内容。。。。

error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
    <title>错误页面</title>
</head>
<body>
    服务器异常,请稍后再试...<br>
    <%-- 由于当前页面定义了属性 isErrorPage="true",所以可以使用下面方法获取异常的错误信息 --%>
    错误原因:<%=exception.getMessage() %>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- 配置全局错误处理页面 -->
    <error-page>
        <!-- 配置服务器异常处理页面,因为服务器异常的原因有很多,比如 空指针异常,索引越界等,
         都属于 500 异常,使用 jsp 页面,可以通过 exception 对象获取到具体的异常错误信息 -->
        <error-code>500</error-code>
        <location>/comment/500.jsp</location>
    </error-page>
    <error-page>
        <!-- 配置客户端异常处理页面,客户端一般出现最多的问题就是 404,资源未找到 -->
        <error-code>404</error-code>
        <location>/comment/404.html</location>
    </error-page>
</web-app>

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值