JSP基本语法总结【2】九大内置对象
内置对象也称为内建对象,隐含对象,即无需声明,直接可以在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】九大内置对象的更多相关文章
- Java Web(五) JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- 【转载】JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- web开发(五) JSP详解(四大作用域九大内置对象等)
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6427759.html>,在此仅供学习参考之用. 一.JS ...
- 重温JSP学习笔记--三大指令九大内置对象
最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...
- JSP九大内置对象,七大动作,三大指令
JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...
- jsp(九大内置对象,三大指令)
九大内置对象JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.except ...
- 今天我们来认识一下JSP的九大内置对象
虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...
- jsp的九大内置对象
九大内置对象 jsp servlet 对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...
- jsp数据交互(一),九大内置对象
九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...
- JSP九大内置对象的作用和用法总结?
JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...
随机推荐
- 如何通过 WebP 兼容减少图片资源大小
作者:学军又拍云 CDN 服务公测 WebP 自适应功能,为客户减少图片资源大小.本文我们将一起来阐述WebP兼容的来龙去脉. 前言我们知道,理想的网页应该在 1 秒内打开,而在页面的整体大小中,图片 ...
- c语言项目开发流程二部曲
一.在第一部曲中我们介绍了电子词典项目开发的前5步,下面继续我们的步伐. 6.函数接口设计,这一步不是一蹴而就的,在项目进行中得不断修改,下面是我电子词典项目接口. /**************函数 ...
- ReactNative学习之Html基础
前言: React Native开发作为一种新型的移动开发方式,个人觉得App的一部分需求会逐步替换成这种方式,也是公司移动开发人员所必须掌握的一种开发技术,所以鉴于这种情况我觉得很有必要学习一下,特 ...
- 一天搞定CSS: 浮动(float)及文档流--10
浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...
- HashSet集合
HashSet特点 1.无序,不允许重复(无序指元素顺序与添加顺序不一致,每次遍历出来的位置不是恒久不变的) 2.HashSet通过调用hashCode()和equals方法来剔除重复 3.HashS ...
- Hql没有limit,替换方案
在HQL+MYSQL中不能直接在查询语句中使用LIMIT进行检索,正确方法为: String hql = "from User where id=? order by addDate des ...
- Spring学习(2)---IOC
1.接口及面向接口编程 2.什么是IOC 3.Spring的Bean配置 4.Bean的初始化 5.Spring的常用注入方式 (一)接口 用于沟通的中介物的抽象化 实体把自己提供给我外接的一种抽象化 ...
- 搞不懂SSH与JAVA+Servlet+javabean有什么关系
在SSH中:struts 是控制层,同时与Jsp结合代表表现层,同时负责客户端请求的处理,Spring主要处理逻辑事物处理,Hibernate主要对数据库的持久化操作. Jsp+Servlet+Jav ...
- 安装并配置Apache
从今天开始,我将开始Web开发的学习.本系列博客将陆续记录我学习过程中的收获和困惑,从前端到后端,一探Web开发的流程和内容.我目前掌握的有C/C++,有一些使用C进行嵌入式开发的经验,C++就马马虎 ...
- XtraBackup物理备份 阿里云的Mysql备份方案
XtraBackup物理备份 Percona XtraBackup是世界上唯一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份.使用Percona XtraBac ...