内置对象也称为内建对象,隐含对象,即无需声明,直接可以在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. Java基础知识二次学习--第六章 常用类

    第六章 常用类   时间:2017年4月26日16:14:49~2017年4月26日16:56:02 章节:06章_01节~06章_06节 视频长度:20:57+1:15+8:44+1:26+11:2 ...

  2. Android 内存泄漏分析与解决方法

    在分析Android内存泄漏之前,先了解一下JAVA的一些知识 1. JAVA中的对象的创建 使用new指令生成对象时,堆内存将会为此开辟一份空间存放该对象 垃圾回收器回收非存活的对象,并释放对应的内 ...

  3. CentOS上安装NodeJs

    (1)参照:http://www.cnblogs.com/zhangqingsh/archive/2013/04/15/3022583.html  安装Python2.7 (2)安装Nodejs yu ...

  4. 纯CSS3向右循环闪过效果

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

  5. ubuntu16.04 英文环境安装中文输入法

    1. 安装语言包 System Settings–>Language Support–>Install/Remove Languages 选中chinese,点击Apply应用即可,等待下 ...

  6. EF通用数据层封装类(支持读写分离,一主多从)

    浅谈orm 记得四年前在学校第一次接触到 Ling to Sql,那时候瞬间发现不用手写sql语句是多么的方便,后面慢慢的接触了许多orm框架,像 EF,Dapper,Hibernate,Servic ...

  7. Java之反射--练习

    定义Student 类:包含:姓名和年龄等属性,有参和无参构造方法,输出所有信息的方法 1.使用多种方法生成一个Student类的Class对象 2.使用Class类获取Student类的结构信息并输 ...

  8. Java 9 揭秘(4. 模块依赖)

    文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可读性意味着什么以及如何声明它 限定导出(exports)与非限定导出之间的差异 声明 ...

  9. angular.js的ng-app 指令定义一个 AngularJS 应用程序。

    <!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...

  10. zookeeper源码分析-server-util

    zxid (ZooKeeper Transaction Id,每次请求对应一个唯一的zxid,如果zxid a < zxid b ,则可以保证a一定发生在b之前) zookeeper采用了递增的 ...