- 浏览: 85697 次
文章分类
最新评论
第十二章 控制所生成的servlet的结构:JSP page指令
核心方法:
1.我们一定要将我们的实用工具类和bean放在包中。原因见import属性第一点。
首先page指令允许我们通过类的导入、servlet超类的定制、内容类型的设置、以及诸如此类的事物来控制servlet的结构。注意这里是转换为servlet后的结构,不是jsp的结构。还有要注意page指令定义下面这些大小写敏感的属性。
学习笔记
一、import属性
1.我们可以使用page指令的import属性指定JSP页面转换成的servlet应该输入的包。
2.默认情况下,servlet导入java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;也许还要包含一些服务器特有的包,但这样做会使我们的代码不可移植。
3.我们可以
这样来引入多个包。
二、contentType和pageEncoding属性
1.这里要注意contentType隶属实体报头,不是什么请求报头和响应报头的内容,实体报头定义了关于实体正文和请求所标识的资源元信息。具体可参见:http://www.iteye.com/topic/563082
2.常规的servlet,其默认的MIME类型为text/plain,而jsp页面默认为text/html,默认字符集,ISO-8859-1
3.使用contentType有两种方式
两种形式的第一点不同是,response.setContentType 使用明确的 Java 代码(这是一些开发
人员力图避免使用的方式),而 page 指令只用到 JSP 语法。第二点不同是,指令被特殊处理,它们不是在出现的位置直接成为 _jspService 代码。这意味着 response.setContentType 能够有条件地调用,而 page 指令不能。条件性地设置内容的类型主要用在同一内容能够以多种不同的形式进行显示的情况下。
三、session属性
这个true和false指的是 “是否创建会话把它绑定到session”,如果设置为false就代表阻止JSP页面为那些尚不拥有会话的用户创建会话。这里要联想到会话的创建过程,没有会话也就意味着没有名为JSESSIONID的这个cookie。而由于会话针对的是用户,而这个用户不一定只访问这个页面,所以单一的设置某个页面的session为false,不会关闭会话跟踪。我的理解就是要么不设置session,使他为默认值,要么全设为false,关闭了会话跟踪。
四、isELIgnored属性
isELIgnored 属性控制的是:忽略(true)JSP 2.0 表达式语言(EL),还是进行正常的求值(false)。如果 web.xml 指定 servlet 2.4(对应 JSP 2.0)或之后的版本,那么默认值为false。使用这个属性时,可以采用下面两种形式:
五、buffer 和 autoFlush 属性
1.buffer 属性指定 out 变量(类型为 JspWriter )使用的缓冲区的大小。使用这个属性时,可以采用下面两种形式:
有时输出内容的每一行都需要较长的生成时间,此时禁用缓冲或使用小缓冲区会更有效率;这样,用户能够在每一行生成之后立即看到它们,而不是等待更长的时间看到成组的行。
2.autoFlush 属性控制当缓冲区充满之后,是应该自动清空输出缓冲区(默认),还是在缓冲区溢出后抛出一个异常(autoFlush="false")。使用这个属性时,可以采用下面两种形式:
在 buffer="none" 时,false 值是不合法的。
六、info属性
info 属性定义一个可以在 servlet 中通过 getServletInfo 方法获取的字符串,使用 info 属性时,采用下面的形式:
七、errorPage 和 isErrorPage 属性
1.errorPage是指定那个页面处理errorPage所在页面的错误。
2.isErrorPage,指定该属性所在页面的是错误处理页面。一般我们将错误页面放置在WEB-INF目录中,由于服务器禁止客户直接访问WEB-INF,这种安排能够阻止用户访问错误处理页面,
3.发生错误时,错误处理页面由服务器访问,而非客户去访问,这类错误页面不会生成response.sendRedirect调用,客户只会看到最初请求的URL,看不到错误页面的URL。
其他的isThreadSafe属性、extends属性、language属性不常用可参见下面的URL
本章内容具体可参考 http://blog.csdn.net/microfhu/article/details/6944368
核心方法:
1.我们一定要将我们的实用工具类和bean放在包中。原因见import属性第一点。
首先page指令允许我们通过类的导入、servlet超类的定制、内容类型的设置、以及诸如此类的事物来控制servlet的结构。注意这里是转换为servlet后的结构,不是jsp的结构。还有要注意page指令定义下面这些大小写敏感的属性。
学习笔记
一、import属性
1.我们可以使用page指令的import属性指定JSP页面转换成的servlet应该输入的包。
<%Test t = new Test();%>如果我们没有将这个Test放在类中,或者我们没有导入它所在的包,那么系统就会认为Test就在这个jsp页面所转换的servlet所在的包中,但是自动生成的servlet所在的包是未知的,每个服务器指定servlet所在的包都会不同,所以我们就一定要将我们的实用工具类和bean放在包中。
2.默认情况下,servlet导入java.lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet.http.*;也许还要包含一些服务器特有的包,但这样做会使我们的代码不可移植。
3.我们可以
<%@page import = "package.class1,package.class2"%>
这样来引入多个包。
二、contentType和pageEncoding属性
1.这里要注意contentType隶属实体报头,不是什么请求报头和响应报头的内容,实体报头定义了关于实体正文和请求所标识的资源元信息。具体可参见:http://www.iteye.com/topic/563082
2.常规的servlet,其默认的MIME类型为text/plain,而jsp页面默认为text/html,默认字符集,ISO-8859-1
3.使用contentType有两种方式
,<%@page contentType = "MIME-TYPE"%>和<%response.setContentType ("application/vnd.ms-excel");%>
两种形式的第一点不同是,response.setContentType 使用明确的 Java 代码(这是一些开发
人员力图避免使用的方式),而 page 指令只用到 JSP 语法。第二点不同是,指令被特殊处理,它们不是在出现的位置直接成为 _jspService 代码。这意味着 response.setContentType 能够有条件地调用,而 page 指令不能。条件性地设置内容的类型主要用在同一内容能够以多种不同的形式进行显示的情况下。
三、session属性
<%@ page session="true" %> <%--Default--%> <%@ page session="false" %>
这个true和false指的是 “是否创建会话把它绑定到session”,如果设置为false就代表阻止JSP页面为那些尚不拥有会话的用户创建会话。这里要联想到会话的创建过程,没有会话也就意味着没有名为JSESSIONID的这个cookie。而由于会话针对的是用户,而这个用户不一定只访问这个页面,所以单一的设置某个页面的session为false,不会关闭会话跟踪。我的理解就是要么不设置session,使他为默认值,要么全设为false,关闭了会话跟踪。
四、isELIgnored属性
isELIgnored 属性控制的是:忽略(true)JSP 2.0 表达式语言(EL),还是进行正常的求值(false)。如果 web.xml 指定 servlet 2.4(对应 JSP 2.0)或之后的版本,那么默认值为false。使用这个属性时,可以采用下面两种形式:
<%@ page isELIgnored="false" %> <%@ page isELIgnored="true" %>
五、buffer 和 autoFlush 属性
1.buffer 属性指定 out 变量(类型为 JspWriter )使用的缓冲区的大小。使用这个属性时,可以采用下面两种形式:
<%@ page buffer="sizekb" %> <%@ page buffer="none" %>
有时输出内容的每一行都需要较长的生成时间,此时禁用缓冲或使用小缓冲区会更有效率;这样,用户能够在每一行生成之后立即看到它们,而不是等待更长的时间看到成组的行。
2.autoFlush 属性控制当缓冲区充满之后,是应该自动清空输出缓冲区(默认),还是在缓冲区溢出后抛出一个异常(autoFlush="false")。使用这个属性时,可以采用下面两种形式:
<%@ page autoFlush="true" %> <%--Default--%> <%@ page autoFlush="false" %>
在 buffer="none" 时,false 值是不合法的。
六、info属性
info 属性定义一个可以在 servlet 中通过 getServletInfo 方法获取的字符串,使用 info 属性时,采用下面的形式:
<%@ page info="Some Message" %>
七、errorPage 和 isErrorPage 属性
1.errorPage是指定那个页面处理errorPage所在页面的错误。
2.isErrorPage,指定该属性所在页面的是错误处理页面。一般我们将错误页面放置在WEB-INF目录中,由于服务器禁止客户直接访问WEB-INF,这种安排能够阻止用户访问错误处理页面,
3.发生错误时,错误处理页面由服务器访问,而非客户去访问,这类错误页面不会生成response.sendRedirect调用,客户只会看到最初请求的URL,看不到错误页面的URL。
其他的isThreadSafe属性、extends属性、language属性不常用可参见下面的URL
本章内容具体可参考 http://blog.csdn.net/microfhu/article/details/6944368
发表评论
-
servlet和jsp核心编程(第2版)第十六章 简化对Java代码的访问:jsp2.0表达式语言学习笔记
2012-08-23 21:49 733第十六章:简化对Java代 ... -
servlet和jsp核心编程(第2版)第十五章servlet和JSP的集成,模型-视图-控制器构架
2012-08-23 14:59 739第十五章:servlet和JSP的集成,模型-视图-控制器构架 ... -
servlet和jsp核心编程(第2版)第十四章 JavaBean组件在JSP文档中的应用 学习笔记
2012-08-21 11:55 703第十四章 JavaBean组件在JSP文档中的应用 一、bea ... -
servlet和jsp核心编程(第2版)第十三章 在JSP页面中包含文件和applet学习笔记
2012-08-20 15:53 863第十三章 在JSP页面中包 ... -
servlet和jsp核心编程(第2版)第十一章jsp脚本元素的调用学习笔记
2012-08-18 21:09 815第十一章 用JSP脚本元素 ... -
servlet和jsp核心编程(第2版)第十章jsp技术概述学习笔记
2012-08-18 10:37 687第十章jsp技术概述 学习笔记: 一servlet和jsp的区 ... -
servlet和jsp核心编程(第2版)第九章会话跟踪学习笔记
2012-08-17 17:30 893第九章 会话跟踪 核心 ... -
servlet和jsp核心编程(第2版)第八章cookie管理学习笔记
2012-08-08 12:27 843第八章 cookie管理 核心方法: 1.在创建cookie对 ... -
servlet和jsp核心编程(第2版)第七章服务器响应的生成:HTTP响应报头学习笔记
2012-08-06 17:45 729第七章:服务器响应的 ... -
servlet和jsp核心编程(第2版)第六章服务器响应的生成:HTTP状态代码学习笔记
2012-08-05 10:52 737第六章:服务器响应的生成:HTTP状态代码 核心方法: 1.在 ... -
servlet和jsp核心编程(第2版)第五章客户请求的处理:HTTP请求报头学习笔记
2012-08-02 21:36 701第五章客户请求的处理:HTTP请求报头 核心方法: 1.在使用 ... -
servlet和jsp核心编程(第2版)第四章客户请求的处理,表单数据学习笔记
2012-07-31 16:05 1235第四章学习笔记 客户请 ... -
servlet和jsp核心编程(第2版)第三章servlet基础学习笔记
2012-07-29 10:43 707第三章:servlet基础 核心方法: 1.使用HTML验证器 ...
相关推荐
Servlet与JSP核心编程第二版 PDF文件 高清,内容通俗易懂.
Servlet与JSP核心编程第二版5Servlet与JSP核心编程第二版5Servlet与JSP核心编程第二版5
Servlet与JSP核心编程(第2卷 第2版)
Servlet与JSP核心编程(第二版),你是不是要学最新版本(J2EE1.4)的Servlet和 SP?这本书能让你如虎添翼。你将能很好地掌握Servlet和JSP
Servlet与JSP核心编程:综合介绍Servlet与JSP
Servlet 与 JSP 核心编程(第2版)(含源代码版) Servlet 与 JSP 核心编程(第2版)(含源代码版)
Servlet与JSP核心编程第二版代码
《Servlet与JSP核心编程(第2卷 第2版)》在第l卷的基础上,广泛涉及自定义标签库、过滤器、声明式安全、JSTL和Struts等主题,并沿袭深受读者喜爱的写作风格,通过完整、有效、资料丰富的程序来演绎目前最流行的技术和...
Servlet与JSP核心编程(第2版).pdf
Servlet与JSP核心编程(第2版),与大家分享JSP 开发技术
本书由Marty Hall,Larry Brown著 张学良译 清华大学出版社出版 原书有47M由于上传文件大小限制分为3部分,本人不是黑人,仅仅在最后一个部分才收取4分资源分
《Servlet与JSP核心编程》由浅入深,全面而深入地介绍了servlet和jsp技术。本书重点介绍核心技术,同时对相关的内容,如web服务器的配置、安装和应用,数据库的安装和配置等都做了详细明了的介绍。本书的例子简练...
Servlet与JSP核心编程第二版(含书签)
《Servlet与JSP核心编程》(第2版)叙述详尽,条理清晰。对于初学者来说是一本不可多得的入门书籍,经验丰富的Servelet和JSP开发人员也可以通过阅读《Servlet与JSP核心编程》(第2版)得到巩固和提高。
《Servlet与JSP核心编程(第2卷 第2版)》
servlet与JSP核心编程,这本书我看了,自己做的目录,是高清非扫描版
《Servlet与JSP核心编程》由浅入深,全面而深入地介绍了servlet和jsp技术。本书重点介绍核心技术,同时对相关的内容,如web服务器的配置、安装和应用,数据库的安装和配置等都做了详细明了的介绍。本书的例子简练...
Servlet与JSP核心编程 第2卷.pdf 想学习的同学可以看看
Servlet与JSP核心编程(第2版第1卷、第2卷带书签),java web编程必备基础知识。2本书放一起,方面大家下载学习。