JavaWeb笔记-12-jsp指令、内置对象、动作标签

1、jsp三大指令


这里写图片描述

指令格式: <%@…%>
1)page: <%@page language=”java” import=”…” info=”…”%>
    指令属性:
    pageEncoding:指定当前jsp页面的编码。 
    contentType:表示添加一个Content-Type响应头  等同于response.setContentType()
    import:导包
    errorPage:当前页面如果出现错误,则转发到"errorPage"内值所表示的的页面
    isErrorPage:它指定当前页面是否为处理错误的页面
            当该属性为"true"时,页面设置状态码为 500
            只有这个页面可以使用9大内置对象重点exception
    autoFlush:指定的jsp页面缓冲区满时,是否自动刷新。true刷新,false抛异常。
    buffer:指定缓冲区大小。
    isELIgnored: 是否忽略el表达式。
    language:指定当前jsp的编译语言


    在web.xml中配置错误页面: 发生错误时,会跳往对应状态码下的页面
    <error-page>
        <error-code>404</error-code>
        <location>/页面路径</location>
    </error-page>
2)includ: 静态包含
    与RequestDispatcher的include()方法的功能相似。
    <%@include%>在jsp编译成ava文件时完成的。共同生成一个java(Servlet)文件一个class文件
    RequestDispatcher的include()是一个方法,包含和被包含是两个Servlet

    作用:把页面分解开,以包含的形式组合在一起。可以只处理变化部分。
3)taglib:导入标签库
    属性:
    prefix:指定标签库在本页面的前缀,由自己决定前缀  防止重名。。
        <%@taglib  prefix="xxx" uri="/struts-tags"%><xxx:text>
    uri:指定标签库的位置

2、jsp九大内置对象


内置对象名          类型                   作用
request        HttpServletRequest   从客户端向服务器发出的请求
response       HttpServletResponse  是服务器向客户端做出的应答
application    ServletContext       保存所有应用系统中的公有数据
session        HttpSession          用于保护客户端信息而分配给客户的对象
pageContext    PageContext          供存取所有关于jsp程序执行时期所要用到的属性方法
out            JspWriter            jsp输出流,直接向浏览器输出内容
exception      Throwable            Web应用程序能够识别并处理的问题
page           Object(this)         当前jsp页面。执行应答请求和设置的Servlet类的实体。
config         ServletConfig        标识servlet的配置

pageContext:

一个顶九个
可代理其他域: pageContext.setAttribute("xxx","XXX",PageContext.SESSION_SCOPE);
全域查找:pageContext.findAttribute("xxx"); 
    从小到大找 。为防止重名,可能会带上域名作为前缀 eg:request_xxx

JSP的动作标签

jsp动作标签和html标签的区别:
    * 动作标签由tomcat(服务器)来解释执行! 他与java代码一样,都是在服务器端执行的
    * html标签由浏览器执行
    <jsp:forward>: //转发 和RequestDispatcher().forward()作用相同
    <jsp:include>://包含 和RequestDispatcher().include()作用相同
    <jsp:param>://作为forward和include的子标签,给转发或包含的页面传递参数
在web.xml中配置jsp  在Servlet改变时可以不用重启tamcat(服务器)
<Context reloadable="true">  //表示重新加载

猜你喜欢

转载自blog.csdn.net/qq_41307491/article/details/81349463
今日推荐