JSP知识点回顾

一、JSP页面的基本结构
一个JSP页面通常由以下基本元素组成:
(1)HTML 标签
(2)CSS
(3)变量和方法
(4)Java 代码段
(5)JSP动作和指令
(6)其他脚本元素(如JavaScript)等

二、JSP常用三种注释
(1)隐藏注释

        语法格式:<%--注释语句--%>
        作用:它是JSP的标准注释,用于描述和说明JSP程序代码,在发布JSP网页时完全被忽略,也不会输送到客户浏览器上。

(2)HTML注释

        语法格式:<%--注释语句[<%=表达式%>]--%>
        作用:在发布网页时可以在浏览器源文件窗口中看到,即注释的内容会被输送到客户端浏览器中。

(3)Java注释

        语法格式:<%/*注释语句*/%> 或者 <%//注释语句%>
        作用:在发布网页时完全忽略,在浏览器的源文件窗口中也看不到注释内容。

三、JSP常用指令
1、page指令
定义:用来定义JSP文件中和全局属性,描述与页面相关的一些信息。
作用域:它(page)所在的JSP页面和其包含的文件。
建议:考虑到JSP程序的可读性以及良好的编程习惯,建议放在JSP文件的顶部。
注意:在同一个JSP页面中可以有多个page指令,在使用多个page指令时,其属性除import外只能使用一次。
属性:
(1)language属性
(2)extends属性:用于指定JSP编译器父类的完整限定名,此JSP页面产生的Servlet将由该父类扩展而来。
(3)import属性:用于导入JSP页面使用的Java API类库。import属性是所有page属性中唯一可以多次设置的属性,用来指定JSP页面中所用到的类。
(4)session属性:用于指定是否可以使用session对象,若允许页面参与HTTP会话,就设置为true,否则false,其默认值是true。
(5)buffer属性:用于设定页面的缓冲区大小(字节数),属性值为none,表示禁用缓冲区,默认值为8KB。
(6)isErrorPage属性:指定JSP页面是否为处理异常错误的页面,默认值为false。
(7)pageEncoding属性:用于指定JSP页面的编码方式,其默认值是ISO-8859-1。可设置为UTF-8。

2、include指令
用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面、HTML页面、文本文件或是一段Java程序。这些加载的代码和原有的JSP代码合并成一个新的JSP文件。
指令语法格式:<%@include file=”文件名”%>
注意:include指令只有一个file属性。file属性用于指定插入的包含文件和相对路径,无默认值。

3、taglib指令
用来指定页面中使用的标签库以及其自定义标签的前缀。
指令语法格式:<%@taglib uri=”tagLibraryURI” profix=”tagPrefix”%>
属性:
(1)uri属性
统一资源标识符(Uniform Resource Identifier,uri):用于指定标记库的存放位置,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,无默认值。uri属性可以是在TLD(标记库描述符)文件或web.xml文件中定义的标签库的符号名,也可以是TLD文件或JAR文件的相对路径。
(2)prefix属性
用于指定标记库中所有动作元素名中使用的前缀,无默认值。

四、JSP常用动作
在客户端请求JSP页面是,可以利用JSP动作动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面。
动作元素名和属性名都是大小写敏感的。
JSP规范定义了一系列标准动作,使用jsp作为前缀。其中常用的动作有、、、、、。

(1)<jsp:param>动作可以用于<jsp:include>、<jsp:forword>动作中,为其他动作传送一个或者多个参数。
        语法格式:<jsp:param name="参数名" value="参数值"/>
        name属性:用于指定参数名,不可以接受动态值。
        value属性:用于指定参数值,可以接受动态值。
(2)<jsp:include>动作用来指定文件动态插入正在生成的页面中。
        语法格式:<jsp:include page="文件名" flush="true"> 或者
                        <jsp:include page="文件名" flush="true">
                            <jsp:param name="参数" value="参数值">
                        </jsp:include>
        page属性:指定所包含资源的相对路径,可以接受动态值。
        flush属性:指定在包含目标资源之前是否刷新输出缓冲区,默认值为false,不可以接受动态值。
        <jsp:include>动作允许包含静态文件和动态文件,这两种包含文件的效果是不同的。
        注意:a、如果包含文件是静态文件,那么这种包含仅仅是把包含文件的内容添加到JSP文件中去,这个文件不会被JSP编译器执行;
                b、如果包含文件是动态的,那么这个被包含文件也会被JSP编译器执行。
(3)<jsp:useBean>动作用来加载在JSP页面中使用到的JavaBean。这个功能非常有用,能够实现JavaBean组件的重用。
    语法格式:<jsp:useBean id="Bean实例名称" scope="page | request | session | application" class="JavaBean类" type="对象变量的类型" beanName="Bean名字"/>
    id属性:指定该JavaBean的实例名称,不可接受动态值。如果能够找到id和scope相同的Bean实例,<jsp:useBean>动作将使用已有的 Bean实例而不是创建新的实例。
    scope属性:指定Bean的作用域,一个作用域内id属性的值是唯一的,即一个作用域内不能有两个一样的id值,不可以接受动态值,可选作用域有page、request、session和application。默认值是page,表示该Bean只在当前页面内可用(保存在当前页面的PageCongtext内)。request:表示该Bean在当前的客户端请求内有效(保存在ServletRequest对象内);session:表示该Bean对当前HttpSession内的所有页面有效,即会话作用域;application:表示该Bean在任何使用相同的application的JSP页面中有效,即整个应用程序范围内有效。
    class属性:指定Bean的类路径和类名,不可接受动态值,这个class不能是抽象的。
    type属性:指定引用该对象的变量的类型,它必须是Bean类的名字、超类名字、该类所实现的接口名字之一。变量的名字是由id属性指定的。
    BeanName属性:用于指定Bean的名字,可以接受动态值。BeanName属性必须与type属性相结合使用,不能与class属性同时使用。
(4)<jsp:setProperty>动作用来设置、修改已实例化Bean中的属性值。
    语法格式:<jsp:setProperty name="Bean的名称" property="*" | property="属性" [param="属性" | value="值"]/>
    name属性:是必需的,表示要设置的属性是哪个Bean的,不可接受动态值。
    property属性:是必需的,表示要设置哪个属性。如果是*,表示所有名字和Bean属性名字匹配的请求参数都被传递给相应属性的 set 方法。
    param属性:是可选的。
    value属性:是可选的。该属性用来指定Bean属性的值。
    注意:value和param不能同时使用,但可以使用其中任意一个。
(5)<jsp:getProperty>动作获取指定的Bean属性值并转换成字符串输出。
    语法格式:<jsp:getProperty name="Bean的名称" property="Bean的属性" />
    注意:在使用<jsp:getProperty>之前,必须用<jsp:useBean>创建实例化对象。
(6)<jsp:forword>动作用于转发客户端请求到另一个页面或者另一个 Servlet 文件中去。
    语法格式:<jsp:forword page="地址或者页面" />
    注意点:<jsp:forword>动作可以包含一个或多个<jsp:param>子动作,用于向要引导引入的页面传递参数。当<jsp:forword>动作发生时,如果已经有文本被写入输出流而且页面没有设置缓冲,将抛出异常。
    page属性:指定资源相对路径,可接受动态值。

(五)JSP常用内置对象
JSP提供了一些由JSP容器实现和管理的内置对象,在JSP应用程序长不需要预先声明和创建这些对象就能直接使用。JSP程序人员不需要对这些内部对象进行实例化,只需调用其方法就能实现特定的功能,是Java Web编程更加快捷、方便。常见JSP内置对象有:out、request、response、session、pageContext、exception和application对象。
(1)out对象
主要用于向客户端输出各种数据,同时管理应用服务器上的输出缓冲区(Buffer)。应用服务器上缓冲区默认值是8KB,可以通过page指令中Buffer属性来设置缓冲区大小。
(2)request对象
主要能获取客户端的各种信息。request对象的生命周期由JSP容器控制。当客户端通过HTTP协议请求一个JSP页面时,JSP容器就会创建request对象并将请求封装到request对象中;当JSP页面处理完请求,request对象将会被销毁。
(3)response对象
将服务器端数据发送到客户端,该对象包含了相应客户端请求的有关信息,其封装了JSP产生的响应,然后发送到客户端以响应客户的请求。
(4)session对象
用于存储特定的用户会话所需的信息。当用户在应用程序的Web页之间跳转时,存储在session对象中的变量将不会丢失,而是在整个用户会话中一直存下去。当会话过期或者被放弃后,服务器将终止该会话。
(5)pageContext对象
pageContext对象提供好了对JSP页面所有的对象及命名空间的访问,如访问out对象、request对象、response对象、session对象、application对象,即使用pageContext对象可以获取其他内置对象中的值。
(6)exception对象
用来处理JSP文件的错误和异常。
(7)application对象
用来保存Java Web应用程序使用的变量,并且所有用户不论何时皆可存储使用。application对象的最大特点是没有生命周期,即不论客户端的浏览器是否被关闭,application对象仍然存在与主机上。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值