对上一周Java Web考试做一个简单的知识的总结两点重要知识。

  

1、Jsp的内置对象(9个):

1.request对象

  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

2.response对象

  response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

3.session对象

  session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.

4.page对象

  page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例

5.out对象

  out对象是JspWriter类的实例,是向客户端输出内容常用的对象

6.application对象  

  application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

7.pageContext对象

        pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

8.config对象

  config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

9.exception对象

  exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象

2、JSP中静态Include和动态Include的区别:

为了更深刻的了解这两者的区别,专门搜索了类似的资料,写出来供大家分享:

静态include主要是对静态页面的引入,不会检查所包含文件的变化

<% @ include file="include.html" %>

动态include主要是对动态页面的引入,它总是会检查所引入的页面的变化,如果所包含的资源在请求间发生变化

,则下一次请求包含<jsp:include>动作的jsp时,将包含资源的新内容。

 

另一方面,include指令在转换时一次性地将内容复制到jsp中,如果所包含的资源发生变化,则使用include指令的jsp将不能反应出新的内容,除非重新编译该jsp。

<jsp:include>动作包含的属性:

page:指定所包含资源的相对url路径,该资源必须时同一web应用程序的组成部分。

flush:指定在执行include动作后是否应刷新缓冲区,在jsp1.1中,该属性必须设置为真。

使用动态include动作时,根据jsp1.1规范,jsp容器允许判断通过include指令包含的资源是否发生变化。如果发生变化。则容器可以重新编译包含该资源的jsp,然而,该规范并没有提供向容器表明某个包含的资源发生变化的机制。

动态include的优点和不足:

优点:

1:引入和同步一个动态的页面,使jsp页面更具灵活性

2:能和不同页面之间进行信息的交互和快捷的实现方式。

3:改变了原始的所有页面编码都放在一个jsp上,使不同的功能分别写在不同页里,通过动态include方式引用到页面,更易于编码,更易于管理。

不足:

动态的引入时需要频繁的变化和页面信息的更新和交互,要占用大量的资源开销。降低页面的访问速度。如果在没必要动态引入的情况下,不要使用动态include

应该注意事项:

1:<jsp:include>动作的flush属性必须要定义,不定义会出现转换错误。而且设置的flush必须要为true

2:在<jsp:include>动作中指定的页面必须是同一web应用程序的一部分。如果引入的是非同一web应用的页面将导致请求时错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值