日期:2014-05-16 浏览次数:20392 次
一个服务器上可以配好多站点,一个站点下可以配好多web应用。
1. JSP指令
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。在JSP 2.0规范中共定义了三个指令:page指令、Include指令、taglib指令。
l JSP指令的基本语法格式:<%@ 指令 属性名="值" %>
举例:<%@ pagecontentType="text/html;charset=gb2312"%>
l 如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。例如:
<%@ pagecontentType="text/html;charset=gb2312"%>
<%@ pageimport="java.util.Date"%>
也可以写作:
<%@ pagecontentType="text/html;charset=gb2312"import="java.util.Date"%>
2. Page指令
l page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
l JSP 2.0规范中定义的page指令的完整语法:
下面语法中加粗的都是常用的,不加粗的是不常用的或服务器默认的、自动设置的。
<%@page
[ language="java" ]
[ extends="package.class"]
[ import="{package.class| package.*}, ..." ]
JSP 引擎自动导入下面的包:
ü java.lang.*
ü javax.servlet.*
ü javax.servlet.jsp.*
ü javax.servlet.http.*
l 可以在一条page指令的import属性中引入多个类或包,其中的每个包或类之间使用逗号分隔:
<%@ pageimport="java.util.Date,java.sql.*,java.io.*"%>
l 上面的语句也可以改写为使用多条page指令的import属性来分别引入各个包或类:
<%@ pageimport="java.util.Date"%>
<%@ pageimport="java.sql.*"%>
<%@ pageimport="java.io.*"%>
[ session="true | false" ]
[ buffer="none | 8kb | sizekb"]
[ autoFlush="true | false" ]
[ isThreadSafe="true |false" ]
[ info="text" ]
[ errorPage="relative_url"]
l errorPage属性的设置值建议使用相对路径(不写“/”或者写“./”);也可以使用绝对路径,但是这里用的绝对路径有些特殊,即以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前页面。
l 也可以在web.xml文件中使用<error-page>元素为整个WEB应用程序设置错误处理页面,其中的<exception-type>子元素指定异常类的完全限定名,<location>元素指定以“/”开头的错误处理页面的路径。
l 如果设置了某个JSP页面的errorPage属性,那么在web.xml文件中设置的错误处理将不对该页面起作用。
l JSP引擎会根据page指令的contentType属性生成相应的调用ServletResponse.setContentType方法的语句。
l page指令的contentType属性还具有说明JSP源文件的字符编码的作用。
[ isErrorPage="true | fals