文档章节

JSP九个内置对象

YuanyuanL
 YuanyuanL
发布于 2015/08/25 13:54
字数 1170
阅读 79
收藏 5

 内置对象(又叫隐含对象,JSP有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用.

request 

javax.servlet.ServletRequest的子类型。作用域为request(用户请求期)。

此对象封装了由WEB浏览器或其它客户端生成的HTTP请求的细节(参数,属性,头标和数据)。

对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象常用的方法有:getParameter、getParameterNames 和getParameterValues 通过调用这几个方法来获取请求对象中所包含的参数的值

代码示例:

注意:1.request的getParameter(),是用来获取浏览器通过post或get发出的请求信息;

          2.request的setAttribute()和getAttribute()方法在web组件之间传递信息的。

          3.表单中的多选按钮可以通过request的getParameterValues来获得选中项的内容。


response  

javax.servlet.ServletResponse的子类型。作用域为page(页面执行期)。

此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。

代码示例:

response的addCookie()方法。

Cookie的setMaxAge()是设置cookie的最大存活时间(单位是秒);




pageContext 

此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法:

该对象的方法都是抽象方法

javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。


session 

javax.servlet.http.HttpSession类型,作用域session(会话期)。

  HttpSession是一个类似哈希表的与单一WEB浏览器会话相关的对象,它存在于HTTP请求之间,可以存储任何类型的命名对象。 如果不需要在请求之间跟踪会话对象,可以通过在page指令中指定session="false"。  需要记住的是pageContext对象也可以与session.getAttribute(),session.setAttribute()一样的方式取得并设置会话属性。

对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。 

   概要
  HTTP是无状态(stateless)协议;
  Web Server 对每一个客户端请求都没有历史记忆;
  Session用来保存客户端状态信息;
  由Web Server 写入;
  存于客户端;
  客户端的每次访问都把上次的session记录传递给Web Server;
  Web Server读取客户端提交的session来获取客户端的状态信息


application 

servlet的环境通过调用getServletConfig().getContext()方法获得。对象负责提供应用程序在服务器中运行时的一些全局信息,像提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式。常用的方法有getMimeType和getRealPath等。

javax.servlet.ServletContext类型,作用域是application(整个程序运行期)。


page 

java.lang.Object类型,作用域为page(页面执行期)。

该对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。


config 

对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

javax.servlet.ServletConfig,作用域为page(页面执行期)


out 

javax.servlet.jsp.JspWriter类型,作用域为page(页面执行期)。

代表输出流的对象。对象代表了向客户端发送数据的对象,与“response” 对象不同,通过“out” 对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括clear、clearBuffer、 flush、getBufferSize和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法


exception 

java.lang.Throwable,作用域为page(页面执行期)。

对象则代表了JSP文件运行时所产生的异常或者错误。通过JSP错误页面中一个catch块已经溢出但没有捕获的java.lang.Throwable的任意实例,传向了errorPage的URI。注意exception只有在page指令中具有属性<%@ page isErrorPage="true "%>时才有效。



© 著作权归作者所有

共有 人打赏支持
YuanyuanL

YuanyuanL

粉丝 152
博文 320
码字总数 187682
作品 0
济南
部门经理
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0
初识 JSP---(注释/小脚本/声明/指令/动作/内置对象)

注释 java : // / / /** */ html : jsp <%-- --%> jsp注释和html注释的区别 jsp注释对jsp引擎有作用,当jsp引擎看到这个注释后,生产servlet文件是会忽略他 html注释对jsp引擎没有作用,jsp...

姜白告
08/03
0
0
servlet/jsp基础复习

servlet就是一个普通的Java类,类对象由服务器(容器)创建,实现请求,响应交互数据。 实现第一个servlet继承HTTPservlet重写doget,dopost方法。其实servlet执行处理请求时候都会调用父类s...

hello_hp
2017/10/20
0
0
浅谈ServletContext 与application的异同

servletContext接口是Servlet中最大的一个接口,呈现了web应用的Servlet视图。ServletContext实例是通过 getServletContext()方法获得的,由于HttpServlet继承Servlet的关系GenericServlet类...

小欣妹妹
2017/11/01
0
0
JSP 学习总结---学习笔记

什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的对象 HttpServletResponse表示服务端到客户端的...

知止内明
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
7
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
18
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部