jsp基础知识(3)

1 PageContext对象;

jsp技术最重要的一个对象,代表jsp页面的运行环境。

这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

2 通过pageContext获得其他对象

getException方法返回exception隐式对象

getPage方法返回page隐式对象

getRequest方法返回request隐式对象

getResponse方法返回response隐式对象

getServletConfig方法返回config隐式对象

getServletContext方法返回application隐式对象

getSession方法返回session隐式对象

getOut方法返回out隐式对象

pageContext封装其它8大内置对象的意义,思考:如果在编程过程中,把pageContext对象传递给一个普通java对象,那么这个java对象将具有什么功能?

3 pageContext作为域对象

pageContext对象的方法

public voidsetAttribute(java.lang.Stringname,java.lang.Objectvalue)

publicjava.lang.ObjectgetAttribute(java.lang.Stringname)

public voidremoveAttribute(java.lang.Stringname)

pageContext对象中还封装了访问其它域的方法

publicjava.lang.ObjectgetAttribute(java.lang.Stringname,intscope)

public void setAttribute(java.lang.Stringname,java.lang.Objectvalue,intscope)

publicvoidremoveAttribute(java.lang.Stringname,intscope)

代表各个域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

findAttribute方法 *重点,查找各个域中的属性)

4

引入和跳到其他资源

PageContext类中定义啦一个forword方法和两个include方法分别来简述和替代ReauestDispatcher.forword方法和include方法。

方法接受资源如果以“/”开头,“/daibiao 代表当前web应用

5 jsp常用标签

A <jsp:include>标签

B <jsp:forword>标签

C <jsp:param>标签

<Jspinclude>标签

<jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。

语法:

<jsp:includepage="relativeURL | <%=expression%>" flush="true|false"/>

page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。

flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。

5

<jsp:include>include指令的比较

<jsp:include>标签是动态引入,<jsp:include>标签涉及到的2JSP页面会被翻译成2servlet,这2servlet的内容在执行时进行合并。

include指令是静态引入,涉及到的2JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。

不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱的HTML文档。

<pageContext.include></pageContext.include<jsp:includepage=”/index.jsp”></jsp:include>都是动态标签

6 映射jsp

<servlet>

<servlet-name>SimpleJspServlet</servlet-name>

<jsp-file>/jsp/simple.jsp</jsp-file>

<load-on-startup>1</load-on-startup>

</servlet>

……

<servlet-mapping>

<servlet-name>SimpleJspServlet</servlet-name>

<url-pattern>/xxx/yyy.html</url-pattern>

</servlet-mapping>

7 如何查找jsp页面的错误

JSP页面中的JSP语法格式有问题,导致其不能被翻译成Servlet源文件,JSP引擎将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

JSP页面中的JSP语法格式没有问题,但被翻译成的Servlet源文件中出现了Java语法问题,导致JSP页面翻译成的Servlet源文件不能通过编译,JSP引擎也将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

JSP页面翻译成的Servlet程序在运行时出现异常,这与普通Java程序的运行时错误完全一样,Java虚拟机将提示错误发生在Servlet源文件中的位置(行和列)以及相关信息。

8

web开发接触到的4个域对象

pageContext(称之为page域)

request(称之为request域)

session(称)之为session域)

servletContext(称之为application

你可能感兴趣的:(jsp)