详解JSP九大内置对象

内置对象:就是在JSP中无需创建就可使用的称为内置对象,它是有容器创建的(如Tomcat、JBoss、weblgic等容器创建)。

JSP九大内置对象分别为:out、request、response、session、application、pageContext、page、config、exception。

1、out对象

向客户端输出信息,它是JspWriter类的一个实例。

常用的有out.print();或out.println();

2、request对象

获取客户端传递到服务器的信息。request对象实现了HttpServletRequest接口,而此接口又继承与ServletRequest接口。由于接口是不能创建对象的,所以可以通过反射(request.getClass().getName())来获得request对象属于具体的哪个类,不同的容器(服务器)会产生不一样的结果。

request对象常用的方法

    1. getParameter():获得客户端传递给服务器一个参数的值。
    2. getParameterNames():获得客户端传递给服务器的所有参数的名字。
    3. getParameterValues():获取一个参数的所有值(如checkBox的情况)。
    4. setAttribute(),getAttribute(),removeAttribute():这三个方法主要用于struts框架中,必须在同一个请求中设置的属性才能获得。
    5. getCookies():把个人信息存放到客户端。
    6. setCharacterEncoding()/getCharacterEncoding():设置/获得字符编码。
    7. getContextLength():获得整个网页的长度(长度不确定时返回-1).
    8. getRequestURL():返回当前网页的地址(http://localhost:8080/项目名/具体页面.jsp)
    9. getRequestURI():返回项目名/具体网页.jsp。
    10. getMethod():获得网页提交的方法,默认为get,还可以设置为post。
    11. getRemoteAddr():获得远程地址。
    12. getRemoteHost():获得远程主机的名称。
    13. getServerPort():端口号(一般默认是8080)。
    14. getServletPath():/具体网页.jsp。
    15. getContextPath():/项目名,获得的是上下文路径。
    16. getHeader(),getHeaders(),getHeaderNames():request.getHeader("Referer");获得来自的网页。

3、response对象

向客户端浏览器输出信息,对客户的请求进行响应。它是实现了HttpServletResponse接口,此接口继承与ServletResponse,与request对象类似,根据反射机制,由于服务器不同,具体的类也不一样。

4、session对象

会话对象,它是实现HttpSession接口。它们有会话失效时间,tomcat默认是30分钟,可以设置。每个用户的会话空间是隔离的,例如用户商城网站,每个人买的东西都不一样,他们各自把选的商品放在各自的购物车中,互不影响。

5、Application对象

应用对象,它是实现ServletContext接口。Application、Session、request都可以通过setAttribute来设置属性,通过getAttribute来获取属性的值。但是它们的可见范围是不一样的。

  • Application对象所设置的属性不会过期,它在整个服务器运行过程中都是有效的,直到服务器重启。
  • Session对象所设置的属性只有在同一个session中可见。
  • request对象所设置的属性只有在同一次请求之间可见。

通过Application.getRealPath();可以获得其真实路径。

如c:\workspace\.metadate\.plugins\org.eclipse.wst.server.core\temp0\wtpwebapps\项目名(这是项目最后部署完成的一个目录)。

6、page对象

JSP网页在翻译时会转换成一个servlet(而此servlet是一个类)。

它是JSP网页本身,page对象是当前网页转换后的servlet类的实例。

7、config对象

一般用来配置指定的JSP参数,它是实现了ServletConfig接口。

8、exception对象

在可能产生错误的文件中用page指令指定errorPage(例如在test.jsp页面中设置errorPage="error.jsp"),然后在error.jsp页面中指定isErrorPage="true",用exception对象获取错误信息。

9、pageContext对象

它是PageContext类的一个实例。

它主要有以下两个作用:

      1. 获取其它八大对象的句柄

        pageContext.getOut();       //获得out对象的句柄

        pageContext.getRequest();     //获得request对象的句柄

        pageContext.getResponse();    //获得response对象的句柄

        pageContext.getSession();     //获得session对象的句柄

        pageContext.getServletContext();//获得application对象的句柄

        pageContext.getServletConfig(); //获得config对象的句柄

        pageContext.getException();   //获得exception对象的句柄

        pageContext.getPage();      //获得page对象的句柄

      2. 设置或获取4(page,request,session,application)个不同范围的值

        pageContext.setAttribute("name","zhang");   //只在本页面有效

        pageContext.setAttribute("name","zhang",PageContext.REQUEST_SCOPE);

        相当于request.setAttribute("name","zhang"); //只在同一次请求中有效

        pageContext.setAttribute("name","zhang",PageContext.SESSION_SCOPE);

        相当于session.setAttribute("name","zhang"); //只在同一次会话中有效

        pageContext.setAttribute("name","zhang",PageContext.APPLICATION_SCOPE);

        相当于application.setAttribute("name","zhang"); //在整个应用中都有效

时间: 2024-12-25 14:30:14

详解JSP九大内置对象的相关文章

黑马程序员【JSP九大内置对象和四个作用域】转载

http://www.cnblogs.com/fanfu1/p/4530980.html JSP九大内置对象和四个作用域 ------- android培训.java培训.期待与您交流! ---------- 在学习JSP的时候,首先就要先了解JSP的内置对象,什么是内置对象呢?内置对象也叫隐含对象,就是不需要预先声明就可以在脚本代码和表达式中随意使用.而这样的内置对象在JSP中一共有九个以及四个作用域,在下面的文章中我们会一一讲解. 现在我们先来说一下四个作用域,以便描述各大对象都分属于什么作

jsp九大内置对象及四个作用域【转】

1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以 获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理.首先,将获取的 字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符串对象 即可.如下: String textContent=request.getParameter("boy") byte b[]=textContent.get

JSP九大内置对象和四种属性范围解读

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读.内容非常具体,例子都附有代码和执行的结果截图. 本文project下载 一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性.跳转之后无效request:在一次服务请求范围内.server跳转后依旧有效se

零散知识点(面向对象七大设计原则,jdbc--BaseDao,jsp九大内置对象。四个作用域)

面向对象七大设计原则: 1.开闭原则(OCP:Open-Closed Principle)2.里氏替换原则(LSP:Liskov Substitution Principle) 3.单一职责原则(SRP:Single responsibility principle)4.接口隔离原则(ISP:Interface Segregation Principle)5.依赖倒置原则(DIP:Dependence Inversion Principle)6.迪米特法则(LOD:Law of Demeter)

JSP九大内置对象的作用和用法总结(转发)

jsp九大内置对象: 内置对象/作用域(每一种作用域的生命周期是不一样的): 1, application 全局作用域 2, session 会话作用域 3, request 请求作用域 4, pageContext 页面作用域 内置对象 5, response 响应对象 6, out 输出流对象 7, page 当前页面对象的实例 8, exception 异常 9, config ServletConfig/FilterConfig对象 优先级(按照生命周期的长短): application

JSP九大内置对象的作用和用法总结【转】

JSP九大内置对象的作用和用法总结? JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据.(包括头信息.系统信息.请求方式以及请求参数等).request对 象的作用域

Java Web学习(11):JSP九大内置对象(一)

在学习九大内置对象之前先来看看Web应用程序的请求响应模式. Web应用程序请求响应模式 Web应用程序的请求响应模式图示: 1)用户发送请求(request) 2)服务器给用户响应(response) 生活案例: JSP九大内置对象一览 JSP内置对象是Web容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明,也就是不使用 new关键字就可以使用的内置对象.JSP内置对象也被称为预定义变量. 九大内置对象为: 九个内置对象的简介见下表: out对象 out对象是javax.

五------Jsp九大内置对象。

Jsp九大内置对象,当中最基本的是前五个对象. 5-1 out对象 out对象是JSPWriter类的实例.是向client输出内容经常使用的对象. out对象经常使用的方法例如以下: 1.out.println():向client打印字符串 2,out.clear():清除缓冲区的内容,假设在flush之后调用会抛出异常 3,out.clearBuffer():清除缓冲区的内容,假设在flush之后调用不会抛出异常 4,out.flush():将缓冲区内容输出到client 5,int get

Java Web学习(13):JSP九大内置对象(三)

application对象 什么是application? 服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application 对象都是同一个,直到服务器关闭.但是与session不同的是,所有客户的application对象都是同一个,即所有客户 共享这个内置的application对象. appliaction对象 application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.Se