`

servlet和jsp核心编程(第2版)第十二章page指令学习笔记

阅读更多
第十二章 控制所生成的servlet的结构:JSP page指令
核心方法
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
分享到:
评论

相关推荐

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp&servlet;学习笔记_第2版_光盘(看评论酌情下载)

    学习笔记"及提供的源码,开发者可以全面了解JSP和Servlet的工作原理,学会如何创建动态Web应用,同时提升解决问题和实际开发的能力。结合实际项目练习,能够更好地将理论知识转化为实践经验,从而在Java Web开发领域...

    Servlet &JSP学习笔记NetBeans源代码

    在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...

    servlet和jsp学习笔记

    Servlet和JSP是Java Web开发中的核心技术,它们用于构建动态网页和服务器端应用程序。这篇学习笔记将深入探讨这两个概念,以及它们在实际开发中的应用。 Servlet是Java编程语言的一个接口,由Sun Microsystems(现...

    林学良Jsp&Servlet学习笔记

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态网页和处理客户端请求方面起着至关重要的作用。** **JSP技术:** JSP是一种服务器端脚本语言,用于创建动态网页。它允许开发者...

    Head First Servlet & JSP

    本书以其独特的学习风格,深入浅出地介绍了Servlet和JSP(JavaServer Pages)这两项核心的Java Web开发技术。 Servlet是Java平台上的一个标准API,用于构建动态Web应用程序。它允许开发者通过Java代码来处理HTTP...

    韩顺平servlet和jsp课堂笔记

    【标题】:“韩顺平servlet和jsp课堂笔记”涵盖了Web开发中的两个核心技术——Servlet和JSP(JavaServer Pages)的学习资料。韩顺平是一位知名的IT教育专家,他的课程通常深入浅出,适合初学者入门及进阶者提升。 ...

    Servlet&JSP学习笔记源代码

    在"Servlet&JSP学习笔记源代码"中,林信良教授通过实例讲解了这两项技术的基础和进阶知识。这些源代码是在Eclipse集成开发环境中创建的,Eclipse是Java开发的主流工具,支持丰富的插件,使得开发、调试和部署Servlet...

    JSP-Servlet学习笔记第2版.pdf

    由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...

    Servlet&JSP;学习笔记源代码

    这份"Servlet&JSP学习笔记源代码"是由林信良编著,提供了丰富的实例代码,旨在帮助学习者深入理解这两种技术。 Servlet是Java编程语言的一个接口,允许Java代码与HTTP服务器进行交互。它扩展了服务器的功能,使得...

    新一代JSP网络编程笔记

    **新一代JSP网络编程笔记** ...本笔记通过个人的学习心得,详细解析了JSP网络编程的关键概念和技术,对于初学者和有经验的开发者都是宝贵的学习资料。通过阅读和实践,读者可以掌握如何利用JSP构建高效的Web应用程序。

    Jsp&Servlet学习笔记中的完整范例Gossip

    JSP的核心概念包括指令(directives)、动作(actions)、脚本元素(scripting elements)和内置对象(built-in objects)。 1. **指令**:如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, `&lt;jsp:include&gt;`等,用于设置页面...

    《Jsp&Servlet学习笔记 第二版》源码

    《Jsp&Servlet学习笔记 第二版》源码是一份宝贵的学习资源,它涵盖了Java Web开发中的核心组件——JSP(JavaServer Pages)和Servlet。这份源码集合旨在帮助开发者深入理解这两个技术,并通过实际的代码示例进行实践...

    JSP&Servlet;学习笔记 第二版 林信良

    **《JSP&Servlet学习笔记 第二版 林信良》:** 这本书是学习JSP和Servlet的优秀资源,作者林信良以通俗易懂的方式讲解了这两个技术的核心概念、工作原理和实际应用。书中可能涵盖了JSP的指令、动作、表达式和脚本...

    Jsp_Servlet学习课堂笔记

    **JSP(JavaServer Pages)和Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序方面发挥着关键作用。** **JSP技术**是一种服务器端脚本语言,用于生成HTML或XML等Web内容。JSP的核心概念包括: 1...

    jsp-servlet笔记源码

    2. **PPT** 文件可能包含教学演示,详细讲解了JSP和Servlet的原理及其实现细节,比如JSP指令、动作、EL表达式和JSTL标签库的使用,以及Servlet生命周期、初始化参数和会话管理等。 3. **DOC** 文件可能包含文档资料...

    Servlet学习笔记

    ### Servlet学习笔记精炼知识点 #### 一、Servlet初始化与加载机制 1. **Servlet注册与实例化**:在Web应用中,一个Servlet的生命周期始于它的注册与实例化过程。通常,这一过程是在Web服务器启动时,根据`web.xml...

    jsp完整学习笔记(完整版)

    **JSP完整学习笔记概述** 本笔记是作者在专业培训学校学习JSP的总结,旨在为读者提供一个全面了解和掌握JavaServer Pages (JSP) 技术的资源。JSP是Java平台上的动态网页技术,它允许开发人员将静态HTML内容与动态...

    良葛格JspServlet学习笔记.pdf

    ### 良葛格JspServlet学习笔记 #### 一、引言 在现代Web开发领域,特别是Java EE平台中,JSP (JavaServer Pages) 和 Servlet 技术扮演着非常重要的角色。这两种技术共同构成了Java Web应用的基础,分别侧重于用户...

    jsp实用教程笔记

    本笔记将围绕“jsp实用教程”这本书的核心内容进行展开,旨在帮助初学者理解和掌握JSP的基础与高级应用。 一、JSP基本概念 1. JSP页面结构:JSP页面由静态内容(HTML、CSS、JavaScript)和动态脚本元素组成,动态...

Global site tag (gtag.js) - Google Analytics