JSP 基础

指令标签

<%@ 指令名 属性1="属性值1" 属性2="属性值2"...%>


参数:

指令名:jsp中有page,include和taglib三条属性;

1、page指令
<%@ page attr1="value1" ... %>
    常用属性:
        ①language:目前只支持java
        ②extends:
        ③import:
        ④pageEncoding:
        ⑤contentType:设置jsp页面的MIME类型和字符编码
            contentType="text/html;charset=utf-8"
        ⑥session:默认值true,允许使用session对象
        ⑦buffer:设置jsp的out输出对象使用的缓冲区大小,默认8KB,单位只能为kb;
        ⑧autoFlash:设置jsp页面缓存满时,是否自动刷新缓存。默认true。
        ⑨isErrorPage:设置成错误处理页面。
        10)errorPage:对应url字符串,必须设置isErrorPage为true

2、include
        静态包含;
        被包含文件所有内容原样包含,在包含时不会被编译执行;
        使用include指令,最终生成一个文件,因此不能有相同名称变量。
        语法:
 <%@ include file="path" %>
3、taglib
        声明该页面中使用的标签库,同时引用标签库,并制定标签的前缀。
        语法: 
 <%@ taglib prefix="tagPrefix" url="tagURI"%>
        参数:
        prefix:用于指定标签的前缀。不能命名为jsp、jspx、java、javax、sun、servlet和sunw。
        uri:用于指定标签库文件的存放位置。
        
        
脚本标签
1、JSP表达式
    <%=  表达式 %>
2、声明标识
    用于定义全部变量或方法。
    语法:
        <%! 声明全局变量或方法 %>
3、代码片段标签
    <% java代码或脚本代码 %>
    


动态标签
1、文件包含标签<jsp:include>
    被包含的文件可以是动态文件或者静态文件,在编译执行后返回结果。
    语法:
        <jsp:include page="url" flush="fasle|true"/>
        或
        <jsp:include page="url" flush="false|true">
            子动态标签<jsp:param>
        </jsp:include>
    参数:
        page:用于指定被包含文件的<b>相对路径</b>。例如:top.jsp,表示包含的是与当前JSP文件相同文件夹中的top.jsp文件。
        flush:可选,用于设置是否刷新缓冲区。默认false,如果设置true,在当前页面输出使用缓冲区的情况下,先刷新缓冲区,然后执行包含工作。
        子动态标签<jsp:param>:用于向被包含的动态页面中传递参数。
        
    include标签和<jsp:include>标签的区别:
        1)include通过file属性指定,并且file属性不支持任何表达式;
            <jsp:include>通过page属性指定,并且page属性支持jsp表达式。
        2)<jsp:include>被执行时,程序会将请求<b>转发</b>(不是请求重定向)到被包含页面,并将执行结果输出到浏览器中,然后返回包含也继续执行后面的代码。
        3)include不能有重名,<jsp:include>可以包含重名变量和方法。
2、请求转发标签<jsp:forward>
    语法:
        <jsp:forward page="url"/>
        或
        <jsp:forward page="url">
            子动态标签<jsp:param>
        </jsp:forward>
    参数:
        page:指定请求转发的目标页面。
        <jsp:param>:向转向的目标文件中传递参数。
3、传递参数标签<jsp:param>
    <jsp:param name="name" value="value"/>
    
    
    
    
JSP内置对象
1、request
    request.setAttribute(String name,Object object);
    request.getAttribute(String name);
    
2、response
    1)重定向网页
        response.sendRedirect(String path);
        url:相对路径,或者是不同主机的url地址。
        可以重定向。
        重定向支持重定向到不同主机上。
        用户可以从浏览器的地址栏中看到跳转后的地址。

        重定向后,request中的属性全部失效,开始一个新的request对象。

3、session会话
    session.setAttribute(String name,Object obj);
    session.getAttribute(String name);
    removeAttribute(String name);//移除指定对象
    session.invalidate();//销毁session
    设置会话生命周期:
        getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间;
        getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔;
        setMaxInactiveINterval():以秒为单位设置session的有效时间。

4、application
    用于保存所有应用程序中的公有数据。
    在服务器启动时创建,在服务器停止时销毁。
    当application没有被销毁时,所有用户都可以共享该对象。
    与session相比,application生命周期长,类似于系统的全局变量。
    1)访问应用程序初始化参数
        初始化参数在web.xml中配置,web.xml位于WEB-INF目录下,通过<context-param>标签配置。
        方法名:
            application.getInitParameter(String name);
            返回已命名的参数值
            application.getAttributeNames();
            返回所有已定义的初始化参数名的枚举
    2)管理应用程序环境属性
        getAttributeNames():返回所有application对象使用的属性名;
        getAttribute(String name):
        setAttribute(String key,Object obj):使用指定名称和指定对象在application对象中进行关联;
        removeAttribute(String name):根据名称去除属性。
        
5、out
    在浏览器输出信息,并管理应用服务器上的输出缓冲区.
    方法:
        print();
        println();
    管理缓冲区的方法:
        clear():                清楚缓冲区内容,如果响应已经提交,则产生IOException;
        clearBuffer():    清楚当前缓冲区中的内容,即使响应已经提交,也能够使用该方法;
        flush():                刷新流;
        isAutoFlush():    检测当前缓冲区已满时是自动清空,还是抛出异常;
        getBufferSize():获取缓冲区大小。

       
        
                
        
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值