JSP的操作指令包括哪些?各自能完成啥作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP的操作指令包括哪些?各自能完成啥作用相关的知识,希望对你有一定的参考价值。
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)
out对象是javax.servlet.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例 参考技术A 指令:
1、page指令:<%@
page
属性1="..."
属性2="..."
...%>,应用于整个JSP页面,定义JSP页面的一些属性和属性值;
2、include指令:<%@include
file="URL"
%>,用来指定JSP被编译时,需要插入的文本或者代码;
3、taglib指令:<%@taglib
prefix="..."
uri="..."
%>,在JSP页面中声明并调用标签;
动作标记:
1、<jsp:useBean>,在JSP页面中使用Bean;
2、<jsp:getProperty>,获取Bean的属性;
3、<jsp:setProperty>,修改Bean的属性;
4、<jsp:include>,在JSP运行时将文件加入;
5、<jsp:param>,与jsp:include,jsp:forward,jsp:plugin共同使用,以“名字-值”的形式为这些标签提供附加信息;
6、<jsp:forward>,从该指令处停止页面执行,转向其他页面;
7、<jsp:plugin>,指定Applet或JavaBean组件;
jsp基础语言-jsp指令
jsp编译指令用于设置jsp程序的属性以及由jsp生成的servlet中的属性。
jsp常用的编译指令有3个:include指令、page指令、taglib指令。
一、page指令
1、概念:用来设置整个JSP页面的相关属性和功能,其作用范围是整个JSP页面,包括使用include指令引用的其他文件。但是page指令不能作用于动态的包含文件,例如对使用<jsp:include>包含的文件,page指令的设置是无效的。一般情况下,page编译指令位于页面最上方,一个页面可以有多个编译配置指令。
2、语法格式:<%@page attribute1="value1" attribute2="value2"... %>
3、指令的属性:
(1)language属性:定义当前JSP页面使用的脚本语言,默认为java。少数服务器支持JavaBean。
(2)import属性:导入使用的包。jsp中用import指明多个包,用逗号隔开。
(3)contentType属性:指定当前页面的MIME类型和字符编码。MIME类型有:text/plain、text/html(默认)、image/gif、image/jpeg等。默认字符编码方式:ISO-8859-1,若需要中文,可修改为GB2312或UTF-8。
(4)pageEncoding属性:设定jsp源文件保存时所使用的编码。由于jsp文件要响应客户端的请求,因此它会被编译成一个servlet。而servlet是一个java类,java类在内存中是以Unicode进行编码的,若jsp引擎不知道jsp的编码格式,就无法进行解码,并将其转换成内存中的Unicode编码。
(5)session属性:指定这个jsp页面是否支持session机制,默认为true。
(6)extends属性:指定jsp编译生成的servlet所继承的父类或所实现的接口。
(7)errorPage属性:指定错误处理页面的地址。若本页面产生了异常或者错误,而该jsp页面没有对应的处理代码,此时就会自动调用该属性所指向的jsp页面。
(8)isErrorPage属性:与errorPage属性配合使用,指定当前页面是否可以作为另一个jsp页面的错误处理页面。
(9)info属性:定义jsp页面的描述信息。在jsp页面中,可以直接调用getServletInfo()方法获取该值。这是由于jsp是servlet,而任何一个servlet都实现了servlet接口,servlet接口中含有getServletInfo()方法。
(10)buffer属性:指定out对象使用缓冲区的大小。jsp的隐式对象out用于缓存jsp对客户端浏览器的输出,默认为8KB.
(11)autoFlush属性:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容,默认为true。设置为true时可正常输出;则会在buffer溢出时产生一个异常。
(12)isThreadSafe属性:指定对jsp页面的访问是否为线程安全,默认为true。若设置为true,则表示该jsp文件支持多线程;若为false则表示不支持。
(13)trimDirectiveWhitespaces属性:是否去掉指令前后的空白字符,默认为flase。该属性是jsp2.1规范中新增的;当属性值是true时,取消空白字符串。
项目ch04案例:
1、创建page.jsp页面,使0作为被除数:
2、创建错误页面error.jsp:
3、结果:http://localhost:8080/ch04/error.jsp
使用page指令中的errorPage属性,当page.jsp页面出现异常时,内容跳转到error.jsp页面的内容,而地址栏中的地址没有改变,仍然为~~~page.jsp。
二、include指令
1、概念:include是jsp的静态包含指令,使用该指令可将一个外部文件包含到此jsp程序中。一般在jsp页面被编译成servlet时引入其中包含的HTML文件、jsp文件或文本文件。在include指令中,包含页面和被包含页面同一类型的参数不能被定义两次。include指令通常用来包含网址中经常出现的重复性页面,被包含文件中的任何一部分改变了,所有包含该文件的主jsp文件都需要重新进行编译。
2、语法格式:<%@include file="文件路径" %>
file必须是相对路径,不需要指定端口、协议、域名等。若路径以“/”开头,则该路径等同于参照jsp应用的上下文关系路径;若路径是以文件名或目录名开头,则路径就是当前jsp文件所在的路径。
项目ch04案例:
1、创建top.jsp页面
2、创建footer.jsp页面
3、使用include包含两个页面
4、结果:http://localhost:8080/ch04/include.jsp
三、taglib指令
1、概念:允许页面使用用户自定义的标签。
2、语法格式:<%@taglib (uri="tagLibraryURI" | tagdir="tagDir") prefix="tagPrefix" %>
uri属性:用来指明自定义标记库的存放位置。该属性的唯一的标识和前缀相关的标签库描述符,可以是绝对或相对的URL。
tagdir属性:指示前缀将被用于标识安装在/WEB-INF/tags/目录或子目录下的标签文件,一个隐含的标签库描述符被使用。
prefix属性:定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。以jsp:、jspx:、java:、javax:、servlet:、sun:和sunw:开始的前缀被保留,前缀的命名必须遵循XML名称空间的命名约定。
ch04项目案例:
结果:http://localhost:8080/ch04/taglib.jsp
以上是关于JSP的操作指令包括哪些?各自能完成啥作用的主要内容,如果未能解决你的问题,请参考以下文章
jsp开发中、servlet、dao层、biz层、entity层到底各自啥作用?