一、JSP 的3个编译指令
1)、page指令
<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class | package.*}, ..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true | false" ]
%>
language: 声明当前JSP 页面使用的脚本语言的种类,因为页面是JSP 页面,该属性的值通常都是java 。
extends: 确定JSP 程序编译时所产生的Java 类,需要继承的父类,或者需要实现的接口的全限定类名。
import: 用来导入包,下面几个包是默认自动导入的,不需要显式导入。默认导入的包有: java .lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet. http.*
session: 设定这个JSP 页面是否需要HTIP session 。
buffer: 指定输出缓冲区的大小。输出缓冲区的JSP 内部对象: out 用于缓存JSP页面对客户浏览器的输出,默认值为8kb,可以设置为none ,也可以设置为其他的值,单位kb
autoFlush: 当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true 时为正常输出:如果设置为false ,会在buffer 溢出时产生一个异常。
info: 设置该JSP 程序的信息,也可以看做其说明,可以通过Servlet. getServletInfo()方法获取该值。如果在JSP 页面中,可直接调用getServletInfo()方法获取该值,因为JSP 页面的实质就是Servlet 。
errorPage: 指定错误处理页面。如果本程序产生了异常或者错误,而该JSP 页面没有对应的处理代码,则会自动调用该指令所指定的JSP 页面。使用JSP 页面时,可以不处理异常,即使是checked 异常。
isErroePage: 设置本JSP 页面是否为错误处理程序。如果该页面本身己是错误处理页面,则无须使用errorPage 属性。
contentType: 用于设定生成网页的文件格式和编码方式,即MIME 类型和页面宇符集类型,默认的MIME 类型是textlhtml; 默认的字符集为ISO-8859-1 。
2)、include指令
在jsp页面里包含进来某个文件,可以是jsp,inc,txt等文件,但必须是具体的文件,能够找到,
不可以给二次跳转才能找到的文件
格式: <% include file="文件名"%> e.g: <%@ include file="head.jsp"%>
3)、taglib指令
在jsp页面里使用标签,除了jsp自带的标签不需要复杂配置,其他自定义标签都必须存在而且要
配置。
格式:<% taglib uri="标签路径" prefix="标签别名"%>
e.g: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:out value="我是用标签输出来的"/>
或者<c:out value="我是用标签输出来的">
</c:out>
二、JSP 的7个动作指令
* jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。
* jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用。
* jsp:include: 用于动态引入一个 JSP 页面。
* jsp:p1ugin: 用于下载 JavaBean 或 Applet 到客户端执行。
* jsp:useBean: 使用 JavaBean。
* jsp:setProperty: 修改 JavaBean 实例的属性值。
* jsp:getProperty: 获取 JavaBean 实例的属性值。
三、JSP 的9个内置对象
application: javax.servlet.ServletContext 的实例,该实例代表JSP 所属的Web 应用本身,可用于JSP 页面,或者Servlet 之间交换信息。常用的方法有
getAttribute(String attNarne) ,
setAttribute(String attNarne , String attValue)
和getInitPararneter(String paramNarne)等。
config: javax.servlet.ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。
事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。
exception: java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessageO和rintStackTraceO等。
out: javax.servlet.jsp.JspWriter 的实例,该实例代表JSP 页面的输出流,用于输出内容,形成HTML 页面。
page: 代表该页面本身,通常没有太大用处。也就是Servlet 中的this ,其类型就是生成的Servlet
pageContext: javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和getServletConfigO等。
request: javax.servlet.http:HttpServletRequest 的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里。这是一个常用的对象,获取客户端请求参
数必须使用该对象。常用的方法有
getPararneter(String paramNarne),
getPararneterValues(String paramName),
setAttribute(String atttibuteName,Object attributeValue),
getAttribute(String attributeName)和setCharacterEncoding(String env)等。
response: javax.servlet.http.HttpServletResponse 的实例,代表服务器对客户端的响应。通常,也很少使用该对象直接响应,输出响应使用out 对象,而response 对象常用于重定向。常用的方法有sendRedirect(j ava.lang.String location)等。
session: javax.servlet.http.HttpSession 的实例,该对象代表一次会话。从客户端浏览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话。常用的方法有:
getAttribute(String attName), setAttribute(String attName, String attValue)等