jsp内置对象总结

jsp内置对象总结java 提供了预设的内置对象并内置在 jsp 的网页环境中 而且提供了编写 jsp 所需的基本功能 目前 jsp 中有 9 个隐含对象 分别为 request response out session application pageContext config page 和 exception 使用这些对象可以方便请求 响应或会话等信息 jsp 内置对象 request 取得客户端数据与系统的信息 respon

java提供了预设的内置对象并内置在jsp的网页环境中,而且提供了编写jsp所需的基本功能。目前jsp中有9个隐含对象,分别为request、response、out、session、application、pageContext、config、page、exception。使用这些对象可以方便请求、响应或会话等信息。

jsp内置对象:
request:取得客户端数据与系统的信息。
response:响应客户端信息。
application:记录与处理上线者共享的数据。
session:记录与处理上线者的个别数据。
out:控制数据输出的操作。
config:取得JSP编译后Servlet的信息。
pageContext:存取与处理系统运行时期的各项信息。
page:表示当前的JSP网页。
request对象常用方法:








方法 说明
Object getAttribute(String name) 返回name 所指定的属性值
void setAttribute(String name,Object obj) 设定name所指定的属性值为obj
void removeAttribute(String name) 删除name所指定的属性
java.util.Enumeraton getAttributeNames() 返回request对象所有属性的名称集合
String getParameter(String name) 从客户端获取name所指定的参数值
java.util.Enumeraton getParameterNames() 从客户端获取所有参数名称
String [] getParameterValues(String name) 从客户端获取name所指定参数的所有值
int getServerPort() 返回服务器接收请求的端口
String getServerName() 返回服务器名称
String getRemoteAddr() 获取客户端的IP地址
int getRemotePort 获取客户端的请求端口
String getContextPath() 返回环境路径(Web服务程序根目录)
String getCharacterEncoding() 返回请求正文中所使用的字符编码
void setCharacterEncoding(String chaen) 设定请求正文中所使用的字符编码
Cookie[] getCookies() 返回客户端所有的Cookie对象
Session getSession() 返回请求相关的session对象
String getContentType() 返回请求正文的MIME类型
int getContentLength() 返回请求的Body的长度,单位为字节

response对象的常用方法

方法 说明
void sendRedirect(String redirectURL) 将客户端重定向到指定的URL
void setContentType(String contentType) 设置响应数据内容的类型
void setContentLength(int contentLength) 设置响应数据内容的长度
void setHeader(Stringname ,String value) 设置HTTP应答报文的首部字段和值以及页面的自动刷新
void setStatus(int n) 设置响应的状态行
ServletOutputStream getOutputStream() 获取二进制类型的输出流对象
printWriter getWriter() 获取字符类型的输出流对象
String encodeRedirectURL(String url) 编码指定的URL,以便向sendRedirect发送
int getBufferSize(int bufferSize) 获取缓冲区的大小
void setBufferSize(int bufferSize) 设置缓冲区的大小
void flushBuffer() 强制发送当前缓冲区的内容到客户端
void resetBuffer() 清楚响应缓冲区的内容
void addCookie(Cookie cookie) 向客户端发送一个cookie
void addHeader(String name,String value) 添加HTTP文件的头文件
boolean isCommitted() 判断服务器是否已将数据输出客户端
String encodeURL(String url) 编码指定的url

out对象

方法 说明
clear() 清除缓冲区的数据,若缓冲区中已经是空的,则会产生IOException的异常
clearBuffer() 清除缓冲区的数据,若缓冲区中已经是空的,并不会产生IOException的异常
flush() 直接将目前暂存于缓冲区中的数据输出
getBufferSize() 返回缓冲区的大小
getRemaining() 返回缓冲区中剩余的空间大小
isAutoFlush() 返回布尔值表示是否自动输出缓冲区中的数据
newLine() 输出换行
print(datatype data) 输出数据类型为datatype的数据data
println(datatype data) 输出数据类型为datatype的数据data并自动换行

session对象
建立session变量:session.setAttribute(“变量名称”,变量内容)
eg:session.setAttribute(“id”,编号);
返回session变量:session.getAttribute(“变量名称”);
返回所有session中的变量名称:session.getAttributeNames();
清除session中的变量:session.removeAttribute(“变量名称”);
结束session : session.invalidate();
其他session对象的常用方法:






方法 说明
getCreationTime() 返回session建立的时间,返回值为格林威治时间1970年1月1日开始算起到session建立时的毫秒数
getLastAceessedTime() 返回客户端对服务器端提出请求至处理session中数据最后的时间,若为新建立的session则返回-1
getMaxInactiveInterval() 返回客户端未对session提出请求而session开始停滞到自动消失之间所间隔的时间,返回值以秒为单位
isNew() 返回布尔值表示是否为新建的session
SetMaxInactiveInterval(int interval) 设置客户端未对session提出请求而session开始停滞到自动消失之间所间隔的时间为interval,以秒为单位

application 内置对象
建立application变量:application.setAttribute(“变量名称”,变量内容)
返回application中的变量:application.getAttribute(“变量名称”);
删除application中的变量数据:application.removeAttribute(“变量名称”);
返回所有的application变量:application.getAttributeNames();
使用application对象取得信息




方法 说明
getMajorVersion() 返回服务器解释引擎所支持的最新servlet API版本
getMinorVersion 返回服务器解释引擎所支持的最低servlet API版本
getMimeType(String file) 返回文件file的文件格式与编码格式
getRealPath(String path) 返回虚拟路径path的真实路径
getServerInfo() 返回服务器解释引擎的信息

application与session对象存储数据变量的方式有何区别?

application:记录联机用户共享的数据。 session:记录联机用户的个别数据。 

pageContext 对象

方法 说明
Object getAttribute(String name) 返回当前页面内的name变量
void setAttribute(String name,Object obj) 设定当前页面内name的变量值为obj
void removeAttribute(String name) 删除当前页面内的name变量
HttpSession getSession() 取得页面的session对象
ServletContext getServletContext() 返回ServletContext对象,这个对象对所有的页面都是共享的
javax.servlet.ServletRequest getRequest() 该方法的返回对象时jsp内置对象request,主要用于获取客户端的信息

config对象

方法 说明
String getInitParameter(String name) 返回name所指定的初始参数
java.util.Enumeration getInitParameterNames() 返回所有初始参数
ServletContext getServletContext 返回Servlet相关的上下文对象
String getServletName() 返回Servlet名称

exception对象

方法 说明
String getMessage() 返回错误信息
String getLocalizedMessage() 取得本地语系的错误提示信息
void printStackTrace() 以标准错误的形式输出一个错误和错误的堆栈
String toString() 该方法以字符串的形式返回一个对异常的描述
Throwable fillInStackTrace() 重写错误的堆栈

response重定向方法sendRedirect()和动作元素jsp:forward的区别

1)response.sendredirect()会在客户端呈现跳转后的URL地址; 这种跳转称为客户端跳转。使用response.sendredirect()将重定向的URL发送到客户端, 浏览器再根据这个URL重新发起请求。所以用这个方法时, 你在浏览器地址栏上会看到新的请求资源的地址。 并且这个时候的request,response都和第一次的不一样了。 这时是重新产生了新的request,response。 (2)使用<jsp:forward>完全是在服务器上进行,浏览器地址栏中的地址保持不变; 这种跳转称为服务器端跳转。所以使用这个方法时没有产生新的用request,response。 因为request没有变,在同一个请求内,可以用request来转递参数。 (3)response.sendRedirect()想带参数的话, 自己在地址中写成 xxx.jsp?param1=aaa&... 这种形式传递参数。 <jsp:forward>能够使用<jsp:param/>标签向目标文件传送参数和值 , 目标文件必须是一个动态的文件,能够处理参数。 (4<jsp:forward>后面的语句不会被执行也不会继续发送到客户端, response.sendRedirect()后面的语句会继续执行,除非语句前面有return。 (5<jsp:forward>是在服务器的内部进行转换,只发送给客户端最后转到的页面, 速度会比较快;response.sendRedirect()需要服务器与客户端之间的往返, 可以转到任何页面,包括网络有效域名。但速度比较慢。 

session对象的生命周期在哪些状况下会结束

 当以下四种情形之一发生时,session与其中的数据便会消失: (1)用户关闭当前正在使用的浏览器程序。 (2)关闭网页服务器。 (3)用户未向服务器提出请求超过预设的时间,Tomcat服务器预设为30分钟。 (4)运行程序结束session。 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232840.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 链表法解决hash冲突[亲测有效]

    /*@链表法解决hash冲突*大单元数组,小单元链表*/#pragmaonce#includeusingnamespacestd;templatestructNode{s

    2021年12月18日
    49
  • 电子元件-OMRON继电器详细讲解

    目录:一、什么是继电器1、继电器简述2、继电器的构造和原理3、继电器的用途示例4、继电器的分类5、电磁铁的分类6、继电器的动作说明二、一般继电器的使用方法1、继电器的工作和原理2、关于品质和可靠性3、继电器的试验方法三、一般继电器术语说明1、继电器全部2、继电器接点部3、继电器线圈部4、电气的性能5、现象与状态6、动作形态7、外形与形状四、一般继电器使用注意事项1、使用继电器时2、关于继电器的选择3、关于电路设计.

    2022年4月13日
    62
  • 软件著作权的代码要求_软件著作权 源代码

    软件著作权的代码要求_软件著作权 源代码软件著作权源代码文档格式要求分类:专利申请常见问题发表时间:2020-10-27软件著作权源代码文档格式要求是什么?软件著作是计算机软件,在申请保护时需要提交软件的源代码。源代码是有格式要求的,以文档形势提交,那么这份源代码文档格式要求是什么呢?需要注意哪些问题呢?本文你详细介绍。常见的源代码包含:C语言,VB,C++,JAVA,.NET等。提交的代码必须是源代码的开头载入程序,第30页必…

    2025年12月4日
    4
  • css字体发光样式_php语言入门

    css字体发光样式_php语言入门本文给大家介绍CSS3如何实现字体发光效果(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。text-shadow该属性为文本添加阴影效果text-shadow:h-shadowv-shadowblurcolor;h-shadow:水平阴影的位置(阴影水平偏移量),可为负值,必需v-shadow:垂直阴影的位置(阴影垂直偏移量),可为负值,必需blur:阴…

    2022年10月17日
    6
  • Maven安装配置及在idea中配置

    Maven安装配置及在idea中配置目录一、Maven是什么二、Maven安装及配置1.Maven本地安装2.Maven环境变量的配置3.Maven配置repository三、idea中创建mevenwebapp及配置1.配置settings2.创建mevenwebapp一、Maven是什么1.Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理…

    2022年5月28日
    59
  • Mac idea激活码【2022免费激活】2022.02.20

    (Mac idea激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlLGWSVFD4PZ-eyJsaWN…

    2022年4月1日
    828

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号