JSP内置对象

  使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用。内置对象其实是由特定的Java类所产生的。每一种内置对象都映射到一个特定的Java类或者端口,在服务器运行时根据情况自动生成。

  下表列出了所有的JSP内置对象:

对象名 描述 作用域  分类
appliction 显示相应网页是有应用程序的对象 整个应用程序执行期间 作用域通信对象:检索JSP页面的Servlet相关信息
session 保存个人信息的个人所有对象 会话期间
pageContext 提供调用其它对象方法的对象 页面执行期间
out 表示服务器端向客户端打开的output数据流对象 页面执行期间 输入和输出对象:控制页面的输入输出
request 包含客户端请求信息的对象 用户请求期间
response 包含从服务器端发送到客户端的相应内容对象 页面执行(响应)期间
page 显示当前网页的对象 页面执行期间 Servlet对象:提供有关页面环境的信息
config JSP页面通过容器初始化接收到的对象 页面执行期间
exception 发生错误时生成的异常对象 页面执行期间 错误对象:处理页面中的错误

  


  1)作用域通信对象

    作用范围:pageContext<session<appliction

    a)pageContext对象

      提供访问当前页面作用域中定义的所有内置对象,常用方法如下:

/*以名称/值的方式,将一个对象的值存放到pageContext中*/
void setAttribute(String name,Object Value)
/*根据名称去获取pageConetxt中存放对象的值*/
void getAttribute(String name)

       b)seesion对象

      用于保存和跟踪用户的会话状态,常用方法与pageContext相同。

     c)application对象

      作用于整个英语程序,所有的客户端窗口都可以共享该对象,从服务器开始就存在,直到服务器关闭,常用方法于pageConext相同。

  2)输入输出对象

    a)request对象

      客户端请求,包含了所有请求信息,常用方法如下:

/*根据页面表单组件名称获取请求页面提交的数据*/
String getParameter(String name);
/*获取页面请求中一个表单组件对应多个用户请求数据(复选框等)*/
String getParameterValues(String name);
/*获取所有客户端到服务器端的参数名*/
Enumeration getParameterNames();

   b)response对象

      处理JSP生成的响应,然后将响应结果发送给客户端,常用方法如下:

/*设置作为相应生成内容的类型和字符编码*/
void setContentType(String name);
/*发送一个相应给浏览器,指示其应请求另一个url(重定向到另一个url,会丢失数据,跳转后不再执行sendRedirect方法下面的代码)*/
void sendRedirect(String name);
/*返回到客户端的输出流对象*/
getOutputStream();

  c)out对象

    表示输出流,此输出流将作为请求的相应发送到客户端,常用方法:print()、println()、write()。

    out在程序代码中几乎不用,因为JSP表达式会自动地放入输出流中,而无需再明确指向out输出。

 3)Servlet对象

  a)page对象

    提供对网页上定义的所有对象的访问,表示页面本身,相当于Java中的this关键字

  b)config对象

    config对象存储Servlet的一些初始信息。config对象表示编译JSP页面的Servlet初始化数据的配置。

 4)错误对象exception

    处理JSP页面中的错误,只有在错误页面(在页面指令包含isErrorPage="true"的页面)才可以使用

    在出错页面,使用<%=exception.getMessage()%>来获取错误信息。


JSP的异常处理

  如果在执行JSP的Java代码时发生异常,可以通过下面的指令将HTTP请求转发给另一个专门处理的网页:

  <%@ page errorPage="errorpage.jsp"%>

  并且在处理异常的网页中,应该将下面语句:

  <%@ page isErrorPage="true"%>也声明进去。

  在处理异常的网页中可以直接访问exception隐含对象,获取详细的异常消息。

  

JSP/Servlet Web 学习笔记 DayThree的更多相关文章

  1. JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面

    项目说明 利用JSP.HTML.JS实现了一个简易的登陆系统.根据前两天的所学,实现了如下功能: a)用户名.密码验证(不基于数据库,只做一个简单的表单数据获取并验证) b)页面访问次数统计 c)验证 ...

  2. JSP/Servlet Web 学习笔记 DayOne

    JSP概述 1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面. 2)JSP容器是一个支持JSP ...

  3. JSP/Servlet Web 学习笔记 DayFour

    Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...

  4. JSP/Servlet Web 学习笔记 DayTwo

    JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...

  5. JSP/Servlet Web 学习笔记 DaySix —— EL表达式

    1)EL从scope中得到参数时可以自动转换类型,因此对于类型转换的限制更加宽松. 2)使用EL表达式,可以简化变量和对象的访问. 3)EL表达式必须以 ${XXXX} 来表示. 4)EL提供点(.) ...

  6. JSP/Servlet Web 学习笔记 DayFive

    ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...

  7. [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. Java Web学习笔记之---JSP

    Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...

  9. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

随机推荐

  1. 记一次EBS正式环境补丁安装的过程

    因菏泽能源上线需求,需要在8009上修复集团8000环境上已经修复的所有补丁程序,修复前做应用及数据库层备份,完成修复后解决并发管理器无法启动的问题.此为概述. 应用层备份 应用层的备份采用直接压缩备 ...

  2. Linux添加新硬盘,设置分区和开机自动挂载之图文教程!

    虚拟机添加硬盘的步骤就不多废话了,主要列出添加硬盘后要进行设置的几个详细步骤: 1.查看磁盘信息:fdisk -ls 添加前如下图所示: 添加后如下图: 也可以用:ls /dev/sd*查看,如下图: ...

  3. JS提示Cannot read property 'replace' of undefined

    出现这个错误的原因一般是传的参数为null 在传参之前加个是否为null的判断就行了.

  4. 一次完整的http请求处理过程

    一次完整的HTTP请求需要的7个步骤 HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1:建立TCP连接 在HTTP工作开始之前,Web浏览器首先 ...

  5. js中break跳出多层循环

    // 当执行多重循环的时候break的情况 outer: for(var i=0;i<10;i++){ inter: for(var j=0;j<10;j++){ if(i>5){ ...

  6. Linux基本的指令操作

    绝对路径: 路径的写法,由根目录/写起,例如:/usr/share/doc这个目录. 相对路径: 路径的写法,不由/写起,例如由/usr/share/doc要到/usr/share/man底下时,可以 ...

  7. .c和.h区别

    本质没有区别: .h是头文件 一般情况下下边内容放在.h文件中 宏定义 结构体,联合,枚举声明 typedef声明 外部函数声明 全局变量声明 .c是程序文件 一般情况下下边内容放在.h文件中 内含函 ...

  8. C#简单的文件阅读器

    写一个简单的文件阅读器  1.可以读取大文件(2G)2.实现首页.下一页.前一页.末页的跳转3.实现到指定页面的跳转,比如跳转到第**页4.限制每页显示字符数 1029-4069byte,且用户可自定 ...

  9. python——闰年的判断

    写一个程序,判断给定年份是否为闰年. 这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年. while(1): year = input("请输入一个年份,让我判断一下 ...

  10. Hadoop2.8.0 源码编译

    一.下载源码并解压 二.检查以下几项 必须有网络!!! JDK 1.7+ 安装方法 java -version Maven 3.0 or later 安装方法 mvn -version Findbug ...