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 ...
随机推荐
- 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考
最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M ...
- 我必须得告诉大家的MySQL优化原理
本文转载自http://www.jianshu.com/p/d7665192aaaf 说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段 ...
- linux开发常用命令
最近经常查看服务器上的log文件,有时log文件太大查起来很不方便,看了看网上说可以部分查询,就先记录一下吧 Linux中查看部分文件内容命令head,tail,sed的用法: Linux中的查看文件 ...
- javaWeb学习总结(4)- HttpServletResponse
一.简介: Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和 ...
- iOS架构设计-URL缓存
概览 缓存组件应该说是每个客户端程序必备的核心组件,试想对于每个界面的访问都必须重新请求势必降低用户体验.但是如何处理客户端缓存貌似并没有统一的解决方案,多数开发者选择自行创建数据库直接将服务器端请求 ...
- javascript的八张图
- 常见web容器
当前主流的还是tomcat,jetty有较大的潜力,缩小彼此间差距,
- 假如时光倒流,我会这样学习Java
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...
- RMAN备份与恢复(二)--常用操作学习
(1)连接目标数据库 在RMAN中可以建立与目标数据库或恢复目录数据库的连接.与目标数据库连接时,用户须具有sysdba系统权限,以保证可以进行数据库的备份.修复与恢复工作. 可以在操作系统命令提示符 ...
- 从OneNote走出,技术博客养成记
2010年9月北上求学,在一所普通本科院校学习计算机专业,年少轻狂未能领悟计算机技术的本质渐生弃学之意. 2013年9月南下参军,在一个电抗部队从事通信指控专业,填补了扛枪演练的男儿情怀却又无法抵制对 ...