jsp中的隐式对象

来源:互联网 发布:台湾人不是中国人 知乎 编辑:程序博客网 时间:2024/05/20 03:45

1.       什么是jsp中的隐式对象。

Jsp就是一个servlet,在servlet中的service方法中我们可以使用 request,response,out,session对象来处理用户的请求和响应。

       同理,在jsp中也能使用这些对象。注意这些对象只能在  scriptlet和 jsp表达式中使用,声明中不能使用。

       经过转换后的jsp文件,所有的内置对象(隐式对象)都出现在 _jspServcie方法中,是方法中的局部变量,我们只能在 scriptlet和jsp表达式中使用。

       使用的时候,不必声明,可以直接使用。

 

2.       内置对象的分类

A)     输入输出相关的:request,response,out

B)      与范围相关的: pageContext , request, session, application

C)     与servlet相关的: page  config

D)     与异常相关的:exception

共 9个内置对象。

 

3.       输入输出相关

request :原型  HttpServletRequest   请求。

response: 原型HttpServletResponse 响应.

out : JspWriter  文本输出流

 

4.       与范围相关:

范围的概念:容器启动后,将会在服务器端的内存中,开辟4个内存空间,这4个内存空间用来存放用户的数据.(对象), 只是它们的作用范围不一样.

 

页面范围,也称为 page范围:放在这个范围中的对象,出了页面,这个对象将无用.也就是说放在page范围中的对象仅仅在当前页面中有效.

 

请求范围 ,也称为  reqeust范围。放在这个范围中的对象在一次请求中有效。

 

会话范围,也称为  session范围。放在这个范围中的对象在一次会话中有效。

 

应用范围 ,也称为 application范围。放在这个范围中的对象在整个应用程序中有效。也就是说,服务器关闭的时候才消失

 

每个范围对应一个内置对象,这些内置对象可以操作(增加,取出,移除)范围中的对象

 

page范围----àpageContext内置对象。原型:PageContext jsp中新增的接口

reqeust范围-àrequest内置对象  原型: HttpServletRequest

session范围àsession内置对象   原型:HttpSession

application范围—>application对象   原型:ServletContext

  

 

 

总结request的两个方法: 这两个方法都是取值,不同之处是:

getParameter(String key):

getAttribute(String key):

 

 凡是取出从客户端提交的数据使用  getParameter

凡是从 范围中取值,也就是从服务器的内存范围中使用getAttribute

 

5.       与servlet相关

page : 原型:Object 它代表当前的jsp页面,也就是一个servlet的引用。一般没有任何用处。

      

       config:    原型: ServletConfig ,当前jsp页面的配置信息。一般无用.

 

6.       异常相关

exception : 原型: Throwable  表示错误和异常,它是一个全局的对象。