jsp 数据交互2

3.1、JSP概述

Jsp页面实在jsp容器中运行的。Servlet容器一般也是JSP容器。例如,Tomcat就是一个Servlet/JSP容器。

第一次请求一个jsp页面时,Servlet/JSP容器要做两件事情:

1、将JSP页面转换成一个JSP页面实现类,这是一个实现javax.servlet.jsp.JspPage接口或其子接口javax.servlet.jsp.HttpjspPage的java类,JspPage是javax.servlet.Servlet的子接口,这样就会使每个jsp页面都成为一个Servlet。

2、如果转换成功,Servlet/JSP容器将会编译Servlet类。

3.2、备注

Jsp页面可以使用两种备注:

1、jsp备注。说明该页面的作用

2、HTML/XHTML备注。这些将被发送到浏览器。

JSP备注以<%--开头,以--%>结束。例如,下面就是一个JSP备注:

<%-- retrieve products to display --%>

JSP备注不会被发送到浏览器,也不能进行嵌套。

HTML/XHTML备注不是由容器进行处理,而是被发送到浏览器。HTML/XHTML备注的用途之一是标识JSP页面:

<!-- this is /jsp/store/displayProducts.jspf -->

在处理带有许多JSP片段的应用程序时,这个特别有用。开发者通过查看浏览器的HTML源代码,可以轻松查出某个HTML代码部分生成了哪个JSP页面或者哪个片段。

3.3、隐式对象

Jsp中存在9个隐式对象:request、response、out、session、application、config、pageContext、page、Exception。

3.4、指令

指令是第一种jsp句法元素,其指示jsp转换器应该如何将某个jsp页面转换成Servlet的命令。最重要的是这两个:page和include。

3.4.1、page指令

Page指令的语法如下:

<%@ page attrubute1=”value1” attribute=”value2” ...%>

@和page之间的空格是可选的,attribute1、attribute2等都是page指令的属性。下面是page指令的属性列表:

import。指定要导入的一种或多种java类型,供本页的java代码所用。例如:import=”java.util.List”。

session。值为true时,表示这个页面参与session管理;值为false时,表示不参与session管理。默认值为true,意味着如果之前还没有javax.servlet.http.HttpSession实例,那么调用JSP页面将始终会创建一个。

buffer。指定隐式对象out的缓冲区大小,以千字节为单位。

autoFlush。默认值为true,表示当缓冲区满时,杯缓存的输出应该自动刷新。值为false时,表示只有在调用隐式对象response的flush方法时,才进行刷新缓冲区。因此,当缓冲区溢出时会抛出一个异常。

 
 
 

3.1、JSP概述

Jsp页面实在jsp容器中运行的。Servlet容器一般也是JSP容器。例如,Tomcat就是一个Servlet/JSP容器。

第一次请求一个jsp页面时,Servlet/JSP容器要做两件事情:

1、将JSP页面转换成一个JSP页面实现类,这是一个实现javax.servlet.jsp.JspPage接口或其子接口javax.servlet.jsp.HttpjspPage的java类,JspPage是javax.servlet.Servlet的子接口,这样就会使每个jsp页面都成为一个Servlet。

2、如果转换成功,Servlet/JSP容器将会编译Servlet类。

3.2、备注

Jsp页面可以使用两种备注:

1、jsp备注。说明该页面的作用

2、HTML/XHTML备注。这些将被发送到浏览器。

JSP备注以<%--开头,以--%>结束。例如,下面就是一个JSP备注:

<%-- retrieve products to display --%>

JSP备注不会被发送到浏览器,也不能进行嵌套。

HTML/XHTML备注不是由容器进行处理,而是被发送到浏览器。HTML/XHTML备注的用途之一是标识JSP页面:

<!-- this is /jsp/store/displayProducts.jspf -->

在处理带有许多JSP片段的应用程序时,这个特别有用。开发者通过查看浏览器的HTML源代码,可以轻松查出某个HTML代码部分生成了哪个JSP页面或者哪个片段。

3.3、隐式对象

Jsp中存在9个隐式对象:request、response、out、session、application、config、pageContext、page、Exception。

3.4、指令

指令是第一种jsp句法元素,其指示jsp转换器应该如何将某个jsp页面转换成Servlet的命令。最重要的是这两个:page和include。

3.4.1、page指令

Page指令的语法如下:

<%@ page attrubute1=”value1” attribute=”value2” ...%>

@和page之间的空格是可选的,attribute1、attribute2等都是page指令的属性。下面是page指令的属性列表:

import。指定要导入的一种或多种java类型,供本页的java代码所用。例如:import=”java.util.List”。

session。值为true时,表示这个页面参与session管理;值为false时,表示不参与session管理。默认值为true,意味着如果之前还没有javax.servlet.http.HttpSession实例,那么调用JSP页面将始终会创建一个。

buffer。指定隐式对象out的缓冲区大小,以千字节为单位。

autoFlush。默认值为true,表示当缓冲区满时,杯缓存的输出应该自动刷新。值为false时,表示只有在调用隐式对象response的flush方法时,才进行刷新缓冲区。因此,当缓冲区溢出时会抛出一个异常。