jsp基础知识2(jsp指令)

1 .Jsp指令的基本语法

<%@指令属性名="" %>

eg<%@ pagecontentType="text/html;charset=gb2312"%>

如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。

例如:

<%@page contentType="text/html;charset=gb2312"%>

<%@page import="java.util.Date"%>

也可以写作:

<%@page contentType="text/html;charset=gb2312"import="java.util.Date"%>

Page指令:用于定义jsp页面的各种属性。Page指令最好放置在整个jsp页面的起始位置。

2.

Jsp2.0 定义的规范的page指令的完整语法

session默认值为truesession是服务器端的

buffer是对out的隐式对象的缓冲区的大小,默认为8kb.

isThreadSafe是线程安全,默认为true

jsp servlet的线程安全已经考虑了!当为false时,实现singleThreadModel接口

errorPage跳转到错误页面

isErrorPage:当前页面是否是错误页面

<%@ page

[ language="java"]

[ extends="package.class"]

[ import="{package.class| package.*}, ..." ]

[ session="true| false" ]

[ buffer="none | 8kb| sizekb" ]

[ autoFlush="true| false" ]

[ isThreadSafe="true| false" ] //线程安全,当isThreadSafe=false 会实现SingThreadModel

[ info="text"]

[ errorPage="relative_url"] //errorPage属性设置必须使用相对路径

<web.xml>中有标签<errorpage>

<exception-type>

<location></location>

</ecception-type>

如果在web.xmljsp出现同种 jsp中的<errorpage></errorpage>标签起作用

即如果设置了某个jsp页面的errorpage属性,那么在web.xml文件中设置的错误处理将不对该页面起作用。

</errorpage>

[ isErrorPage="true| false" ]

[ contentType="mimeType[ ;charset=characterSet ]" | "text/html ;charset=ISO-8859-1" ]

[ pageEncoding="characterSet| ISO-8859-1" ]

[ isELIgnored="true| false" ] //当前页面是否为错误页面。默认的是false

3

以在一条page指令的import属性中引入多个类或包,其中的每个包或类之间使用逗号分隔:

<%@ pageimport="java.util.Date,java.sql.*,java.io.*"%>

上面的语句也可以改写为使用多条page指令的import属性来分别引入各个包或类:

<%@ pageimport="java.util.Date"%>

<%@ pageimport="java.sql.*"%>

<%@ pageimport="java.io.*"%>

JSP引擎会根据page指令的contentType属性生成相应的调用ServletResponse.setContentType方法的语句。

page指令的contentType属性还具有说明JSP源文件的字符编码的作用。

4 使用page指令解决jsp中文乱码

pa通过page指令的contentType属性说明JSP源文件的字符集编码

ge指令的pageEncoding属性说明JSP源文件的字符集编码

5jsp引擎自动倒入下面的包

Java.lang.*

Javax.servlet.*

Javax.servlet.jsp.*

Javax.servlet.http.*

二:include指令

include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。

语法:

<%@include file="relativeURL"%>

其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。

细节:

被引入的文件必须遵循JSP语法。

被引入的文件可以使用任意的扩展名,即使其扩展名是htmlJSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspfJSP fragments)作为静态引入文件的扩展名。

由于使用include指令将会涉及到2JSP页面,并会把2JSP翻译成一个servlet,所以这2JSP页面的指令不能冲突(除了pageEncoding和导包除外)。

Taglib指令用于在JSP页面中导入标签库,讲自定义标签技术时讲。

Request.getRequestDispather是动态包含。

l jsp就打印时对象request

l response

l config

l application

l exception

l Session

l page

l out

l pageContext

你可能感兴趣的:(jsp)