内置对象也称为内建对象,隐含对象,即无需声明,直接可以在JSP中使用的java对象。JSP的内置对象就是把最常用、重要的几个对象直接创建了。

JSP有9大内置对象:Request,Response,  Page,  Application  ,   PageContext,   Out,  Session , Config,  Exception

1'  使用Request对象获取请求

    表示javax.servlet.http.HttpServletRequset对象。包含所以请求的信息,如请求来源,表头,cookies,相关的参数值等。

    常用方法:

        (1)Object   getAttribute(String  name)  返回name指定的属性值,该属性返回不存在时返回null

        (2)void  setAttribute(String  name,Object)  在属性列表中add/delete指定的属性

           (3)  String  getParameter(String name)  获取客户端发送给服务器端的参数值

        (4)String[]   getParameters(String name) 获取请求中指定参数的所有值

        (5)String  getProtocol()  返回请求使用的协议,如HTTP1.1

        (6)String  RequestURI()  返回发送请求的客户端地址,但不包括请求的参数字符串

        (7)String getRemoteAddr()    获取发出请求的客户端IP地址

        (8)HttpSession   getSession()   获取session

2'  使用Response对象做应答

    表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法。

        (1)sendRedirect(URL)   可以将用户重定向到一个不同的页面URL

        (2)setContentType(String  type)  响应设置内容类型头

        (3)addHeader(String name,String  value)  添加String类型的值到HTTP文件头

    ▲sendRedirect与forword重定向的区别:后者实在容器内部实现的同一个web app的重定向,只能重定向到同一个web app的一个资源,URL不变;而前者可以重定向任意URL,因为senRedirect是修改HTTP头实现的,URL没什么限制,重定向后浏览器的地址栏URL改变。还有一个,forword重定向将原始的HTTP请求对象Request从一个Servlet实例传递到另一个实例,而senRedirect方式的两者不是同一个Request,简而言之,就是forword可以在转移时带上请求参数,而sendRedirect则不可。

3‘  Session对象中保存用户会话

    表示一个请求的javax.servlet.http.HttpSession对象。session可以存储用户的状态信息。在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器到客户关闭浏览器离开服务器时结束,被称为一个会话。

    当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法(如cookie)知道这是同一个客户,此时就需要session了。

    常用方法:

      (1)public String  getId()  获取session对象编号。

      (2)public  void setAttribute(String key,Object  obj)   将obj对象添加到session对象中,并指定一个索引关键字。

      (3)public  Object  getAttribute(String  key)    获取session中含有关键字的对象

      (4)public Boolean  isNew()    判断是否为一个新客户

4'  Appliction对象,pageContext对象和JSP的Scope

    服务器启动后就产生了Application对象;pageContext与Application类似,有setAttribute()和getAttribute()方法来保存对象,只是他只限于本页面内。

    ▲JSP的范围(Scope),分为四个:Page,Request,Session,Application。分别由pageContext,Request,Session,Application4个内置对象对应来保存对象,方法名都为上述两个方法setAttribute()和getAttribute()。

      Ⅰ  Page Scope   一个jsp页面中

      Ⅱ  Request Scope  一个jsp网页发出请求到另一个jsp网页之间,随后这个属性失效。即一个Client发出的一个请求

      Ⅲ  Session Scope   一个Client的所有请求共用

      Ⅳ  Application Scope  全局唯一,共用一个(慎用)  服务器开始执行服务到服务器关闭为止

5‘  使用Out对象输出

    为javax.jsp.JspWriter的一个实例,是一个输出流,用来向客户端输出数据。

      常用方法:

        (1)out.print()  输出各种类型数据

        (2)out.newLine()  输出一个换行符

        (3)out.close()  关闭流

6’  Exception处理异常

    用于处理JSP文件执行发生的错误和异常,只有在错误页面才可以使用,前提在page指令中加入"  isErrorPage=True  "

    常用方法:

      (1)String  getMessage()  取得错误提示信息

      (2)void  printStackTrace()  一场的堆栈信息

7‘  Page对象和Config对象

    Page对象表示从该页面产生的一个Servlet实例,详单与这个JSP产生Servlet类的this,可以通过Page对象访问实例的属性和函数。

    Config表示一个javax.servlet.ServletConfig对象。用于存取Servlet实例的初始化参数。

      常用方法:

        (1)String  getInitParameter(String  name)  返回名称为那么的初始化参数值

        (2)Enumeration  getInitParameter()    返回这个JSP所有的初始参数的名称集合

        (3)ServletContext  getContext()    返回执行者的Servlet的上下文

        (4)String   getServletName()  返回Servlet的名称

JSP基本语法总结【2】九大内置对象的更多相关文章

  1. Java Web(五) JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  2. 【转载】JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  3. web开发(五) JSP详解(四大作用域九大内置对象等)

    在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6427759.html>,在此仅供学习参考之用. 一.JS ...

  4. 重温JSP学习笔记--三大指令九大内置对象

    最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...

  5. JSP九大内置对象,七大动作,三大指令

    JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...

  6. jsp(九大内置对象,三大指令)

    九大内置对象JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.except ...

  7. 今天我们来认识一下JSP的九大内置对象

    虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...

  8. jsp的九大内置对象

    九大内置对象 jsp servlet   对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...

  9. jsp数据交互(一),九大内置对象

    九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...

  10. JSP九大内置对象的作用和用法总结?

    JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...

随机推荐

  1. SAS PROC MCMC example in R: Logistic Regression Random-Effects Model(转)

    In this post I will run SAS example Logistic Regression Random-Effects Model in four R based solutio ...

  2. 深度解析PHP数组函数array_chunk

    array_chunk是PHP中的一个数组分割函数,是将一个数组分割为多个数组块 我们可以把它理解卖豆腐的商人把一整块大豆腐切割为一个一个的小块来进行售卖 这个函数需要三个参数: 被切割的数组(必需) ...

  3. 如何有效的跟踪线上 MySQL 实例表和权限的变更

    介绍 从系统管理员或 DBA 的角度来讲, 总期望将线上的各种变更限制在一个可控的范围内, 减少一些不确定的因素. 这样做有几点好处: . 记录线上的库表变更; . 对线上的库表变更有全局的了解; . ...

  4. OpenGL判断一个点是否可见

    关于OpenGL中判断一个点是否可见,可以分成两种情况讨论:点在2D空间中和3D空间中的时候.并且"在2D空间中"可以看作"在3D空间中"的特殊情况. 温馨提示 ...

  5. java基础(一章)

    java基础(一章) 1.            java是一种面向对象的高级编程语言. 2.            java包括:              javase(java基础)       ...

  6. Elasticsearch索引和文档操作

    列出所有索引 现在来看看我们的索引 GET /_cat/indices?v 响应 health status index uuid pri rep docs.count docs.deleted st ...

  7. JDK并发包

    JDK5之后引进了并发包java.util.concurrent,让并发的开发更加可控,更加简单.所以有必要好好学习下,下面从同步控制.并发容器.线程池三部分来详细了解它. 1. 各种同步控制工具的使 ...

  8. 最近一个刚刚毕业的朋友说,他面试时候,遇到最频繁的css问题就是垂直居中,这里给出几种垂直居中方式!

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JVM高级特性-一、java内存结构区域介绍

    区域划分: java虚拟机在执行程序的过程中,将内存分为功能不同的几个区域,如下图: 此图列出了内存划分的各个区域,其中 线程私有的:程序计数器.虚拟机栈.本地方法栈 线程共享的:堆.方法区 下面,逐 ...

  10. Bash扩展顺序

    当进行变量替换.命令替换.数学扩展以及路径扩展时,Bash Shell遵循如下顺序: 1.大括号扩展 $ls f{oo,aa,unble} 2.~扩展 ~cb, ~/doc/working 3.命令参 ...