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 ...
随机推荐
- bash shell中测试命令
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径.如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 .这样if-than语句就与其他编程 ...
- pod install 出现 Unable to find a specification for `xxxxx` 解决方案
pod repo update 更新一下repo,更新完成之后即可解决无法找到xxx第三方框架的问题了
- Cornerstone 3.0.3 for mac 破解版
破解版本 直接安装即可 解压密码:xclient.info 下载地址: 链接: https://pan.baidu.com/s/1mhD64vY 密码: nwmc
- root用户不能修改iptable文件
问题: 需要放通IP 端口 执行: vi /etc/sysconfig/iptables, 添加完成后,wq保存,提示文件只读无法保存!!! 解决步骤: 1.查看文件权限 ls -ld /etc/ ...
- Java解析word文档
背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何解析word文档. 因为系统如果无法智能的解析word,那么就只能通过其他方式手动录入word内容,效率低下,而且人工成本和录入出错率 ...
- 使用babel编译es6
起因:开发中慢慢的学习使用es6,但是JavaScript需要浏览器来解析,而不是所有浏览器都支持es6,所以为了兼容es6,需要第三方工具进行编译es6. 工具:node,gulp,gulp-bab ...
- 学习笔记TF019:序列分类、IMDB影评分类
序列分类,预测整个输入序列的类别标签.情绪分析,预测用户撰写文字话题态度.预测选举结果或产品.电影评分. 国际电影数据库(International Movie Database)影评数据集.目标值二 ...
- JavaSE教程-02Java基本语法-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 1.注释 定义:用于解释说明程序作用的文字 注释类别 单行注释 格式: //注释文字 多行注释 格式: ...
- dedecms搜索提示"关键字不能小于2个字节!"
在测试自己制作的搜索页模板时,如果遇到搜索时提示"关键字不能小于2个字节!"!打开plus/search.php把 if(($keyword=='' || strlen($keyword)< ...
- javascriptDOM节点
DOM把层次中的每一个对象都称之为节点(NODE),以HTML超文本标记语言为例:整个文档的一个根就是<html>,在DOM中可以使用 document.documentElement来访 ...