JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式

  最近在学习JSP相关基础知识,我们都知道JSP当中存在一组不使用new关键字就可以在脚本和表达式中使用的对象,在Web开发中经常使用。为了能更好的理解这些对象,在此对JSP内置对象作一些归纳。

目录:

JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式

JSP内置对象——out(待更新)

JSP内置对象——request/response(待更新)

JSP内置对象——session(待更新)

JSP内置对象——application(待更新)

JSP内置对象——其他内置对象(待更新)

内置对象简介:

我们说,JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的对象。

例如下面看到的这段脚本:我们在for循环中直接使用了out对象来给浏览器打印输出,这是一个JSP内置对象,并没有使用new来创建。

  <%
     String[] value = {"hello","world","ok"};
     for(String s : value){
        out.println(s+"<br>");
     }
   %>

接下来我们来看一下,JSP究竟有哪些内置对象?

JSP总共有九大内置对象,常用的有:out,request,response,session,application这五个,不常用的有:page,pageContext,exception,config这四个

这里先简单的了解一下这些对象,后面会有详细的博客来分别介绍

内置对象 代表内容 作用域
out 输出对象 page
request 请求对象 request
response  响应对象  page
session  会话对象  session 
application  应用程序对象  application 
page  页面对象  page 
pageContext  页面上下文对象  page 
exception  里外对象  page 
config 配置对象  page 

每个内置对象都有一个作用域范围,总共包括四种作用域:page,request,session,application

page里的变量没法从A页面传递到B页面。只要页面跳转了,它们就不见了。

request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。

session里的变量一直在累加,开始还看不出区别,只要关闭浏览器,再次重启浏览器访问这页,session里的变量就重新计算了。

application里的变量一直在累加,除非你重启tomcat,否则它会一直变大。

而作用域规定的是变量的有效期限:

  如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。

  从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。

  如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。

  所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。

  如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。

  所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。

  如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。

  整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。

  application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。

  与上述三个不同的是,application里的变量可以被所有用户共用。如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。这在其他scope中都是不会发生的,page, request,session都是完全隔离的,无论如何修改都不会影响其他人的数据。

在详细介绍JSP内置对象之前,先说一下Web程序的请求和响应模式:

用户(客户端)发送请求(request)

服务器给用户响应(response)

通过上图可以看出,当用户连接互联网去访问Web服务器的时候,就相当于他给Web服务器发了一个Http请求,然后服务器对用户的请求作出了一个响应,那么这就是一种请求与响应模式。

下面举个登陆程序的例子说明Web应用程序的请求和响应模式:

比方说我们要登录博客园,登录页面用户需要输入用户名和密码,然后点击登录按钮,实际上就相当于客户端给服务器发送了一个请求,在这个请求对象中封装了用户提交的用户名和密码。当这个请求发送给服务器之后,服务器就接收到用户的请求,然后判断用户提交的用户名和密码是否合法,如果该用户是合法用户,服务器就给客户端发送一个响应页面,如下图所示:

当然,如果该用户非合法用户,则提示错误信息。

那么这个例子就很好的说明了咱们的Web应用程序是基于请求和响应模式的,下一节我将详细的介绍out对象和它的常用方法以及一些案例。

时间: 2024-08-01 22:40:48

JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式的相关文章

JSP(Java Server Page)九大内置对象

× Web程序的请求相应模式(请求[request].响应[response]) × form method="get"和method="post"提交方式的区别                  1.get:以明文形式通过url进行参数的传递,数据能在url获取,提交的数据最多不超过2KB,安全性低但效率比post高.                 适用于提交数据量不大,安全性不高的数据.eg:搜索.查询等               2.post:将用户提交的

JSP三大指令,九大内置对象,JSP动作标签,EL表达式与函数库

JSP三大指令 ---------------------------------------------- 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:格式:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.jav

jsp三大指令,九大内置对象,JSP动作标签,EL表达式及函数库

JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! page –> 最复杂:格式:<%@page language="java" info="xxx"-%> pageEncoding和contentType: pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! contentType:它表示添加一个响应头:Content-Type!等同于r

jsp运行原理与九大内置对象

1:IE浏览器中输入http://localhost/demo/index.jsp 2:IE浏览器默认找servlet,输入index.jsp请求后,jsp引擎会把jsp翻译为 Servlet,保存在tomcat/work/.../index_jsp.java中,在编译为字节码到内存 Servlet调用service()方法,对jsp页面进行处理输出到IE 调用service()方法时,里面定义了9大内置对象供jsp调用 1:Request                      5:Conf

jsp九大内置对象el11内置对象

虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用其他框架也是会经常用到的.因此十分有了解的必要. 这些对象可以在JSP页面中调用,而不需要事先定义,这使得JSP编程更加的方便和快捷.其实这些内置对象都对应着某个Servlet类,在JSP被翻译成Servlet之后,这些内置对象会相应转换成对应的类实例. JSP中使用到的内置对象主要有如下九个: 1 2 3

jsp九大内置对象和四大作用域

看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.request对象:代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象.客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.作用域为request(用户请求期). 常用方法: 1 object g

黑马程序员【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九大内置对象

内置对象:就是在JSP中无需创建就可使用的称为内置对象,它是有容器创建的(如Tomcat.JBoss.weblgic等容器创建). JSP九大内置对象分别为:out.request.response.session.application.pageContext.page.config.exception. 1.out对象 向客户端输出信息,它是JspWriter类的一个实例. 常用的有out.print();或out.println(); 2.request对象 获取客户端传递到服务器的信息.