jsp基础知识(3)

1  PageContext对象;

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

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

通过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.String name,java.lang.Object value)

publicjava.lang.Object getAttribute(java.lang.String name)

public void removeAttribute(java.lang.String name)

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

publicjava.lang.Object getAttribute(java.lang.String name,int scope)

public void setAttribute(java.lang.String name,java.lang.Object value,int scope)

publicvoid removeAttribute(java.lang.String name,int scope)

代表各个域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

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

引入和跳到其他资源

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页面的已输出的内容刷新到客户端。 

 <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>都是动态标签

映射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源文件中的位置(行和列)以及相关信息。  

 

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

    pageContext(称之为page域)

    request(称之为request域)

    session(称)之为session域)

    servletContext(称之为application

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值