request、response、session、application、out对象主要方法

JSP内置对象

JSP内置对象
对象名称所属类型有效范围说明
applicationjavax.servlet.ServletContextapplication代表应用程序上下文(只要Web服务器运行着,该对象就存在),允许JSP页面与包括在同一应用程序中的任何Web组件共享信息
configjavax.servlet.ServletConfigpage允许将初始化数据传递给一个JSP页面
exceptionjava.lang.Throwablepage该对象含有只能由指定的JSP“错误处理页面”访问的异常数据
outjavax.servlet.jsp.HttpJspWriterpage提供对输出流的访问
pagejavax.servlet.jsp.HttpJspPagepage代表JSP页面对应的Servlet类实例
pageContextjavax.servlet.jsp.PageContextpage是JSP页面本身的上下文,提供了唯一一组方法来管理具有不同作用域的属性
requestjavax.servlet.http.HttpServletRequestrequest提供对请求数据的访问,同时还提供用于加入特定请求数据的上下文
responsejavax.servlet.http.HttpServletResponsepage该对象用来向客户端提供输入数据
sessionJavax.servlet.http.HttpSessionsession用来保存在服务器端与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,session变量会自动消失

内置对象的作用域

对象的有效作用范围是层层包含的,最大的是application,其次依次是session、request和page。

四个对象的作用范围详解

内置对象的作用域
作用域说明
page对象只能在创建它的JSP页面被访问
request对象可以在与创建它的JSP页面监听的HTTP请求相同的任意一个JSP中被访问
session对象可以在与创建它的JSP页面共享相同的HTTP会话的任意一个JSP中被访问
application对象可以在与创建它的JSP页面属于相同的Web应用程序的任意一个JSP中被访问

 request对象的主要方法

request对象的主要方法
方法说明
setAttribute(String name,Object obj)用于设置request中的属性及其属性值
getAttribute(String name)用于返回name指定的属性值,若不存在指定的属性,就返回null
removeAttribute(String name)用于删除请求中的一个属性
getParamenter(String name)用于获得客户端传送给服务器端的参数值
getParamenterNames()用于获得客户端传送给服务器端的所有参数名字(Enumeration类的实例)
getParameter Values(String name)用于获得指定参数的所有值
getCookies()用于返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding()返回请求中的数字编码方式
getRequestURI()用于获取发出请求字符串的客户端地址
getRemoteAddr()用于获取客户端的IP地址
getRemoteHost()用于获取客户端名字
getSession([Boolean create])

用于返回和请求相关的session。create参数是可选的。当为true时,若客户端没有创建session,就创建新的session

getServerName()用于获取服务器的名字
getServletPath()用于获取客户端所请求的脚本文件的文件路径
getServerPort()用于获取服务器的端口号
1、访问请求参数的方法

访问请求参数采用request对象的getParameter()方法,格式如下

String 字符串变量 = request.getParameter("客户端提供参数的name属性名");

 参数name与客户端提供参数的name属性名相对应,该方法的返回值为String类型,如果参数name属性不存在,则返回null值。

2、传递参数的3种形式

request对象的getParameter()方法可以接受来自不同的JSP页面或JSP动作传递给request对象的参数信息

1)使用JSP的forward或include动作,利用传递参数自动做传递参数。

2)在JSP页面或HTML页面中,利用表单传递参数。

3)追加在网址后的参数传递或追加在超链接后面的参数。

方式1)和3)属于get提交方式,方式2)通过form的method属性设置提交方式为get或post

注:在提交页面中若汉字名字,在接受页面会出现乱码,其解决方法如下:

request.setCharacterEncoding("UTF-8");

在页面使用request对象的setAttribute("name",obj)方法,可以把数据obj设定在request范围内,请求转发后的页面使用getAttribute("name")就可以读取数据obj的值

response对象的常用方法

response对象的常用方法
方法说明
SendRedirect(String url)使用指定的重定向位置url向客户端发送重定向响应
setDateHeader(String name,long date)使用给定的名称和日期值设置一个响应报头,如果已经设置指定的名称,则新值会覆盖旧值
setHeader(String name,String value)使用给定的名称和值设置一个响应报头,如果已经设置指定的名称,则新值就会覆盖旧值
setHeader(String name,int value)使用给定的名称和整数值设置一个响应报头,如果已经设置指定的名称,则新值就会覆盖旧值
setContentType(String type)为响应设置内容类型,其参数值可以为text/html、text/plain、application/x_msexcel或application/msword
setContentLength(int len)为响应设置内容长度
setLocale(java.util.Locale loc)为响应设置地区信息
1、sendRedirect(String url)和<jsp:forward page="url">的区别

1)只能使用<jsp:forward>在本网站内跳转,而使用response.sendRedirect跳转到任何一个地址的页面。

2)<jsp:forward>带request中的信息跳转;secdRedirect不带request中的信息跳转。

2、页面刷新和自动跳转setHeader方法
(1)response.setHeader("refresh",5);//每隔五秒,页面刷新一次
(2)response.setHeader("refresh","10;url="http://www.sohu.com");
    //延迟10秒后,自动重定向到网页http://www.sohu.com

与下面代码等价

(3)<meta http-equiv="refresh"content="5"/>
(4)<meta http-equiv="refresh"content="10;url=http://www.sohu.com"/>

session对象的主要方法

session对象的主要方法
方法说明
Object getAttribute(String attriname)用于获取与指定名字相联系的属性,如果属性不存在,就返回null
void setAttribute(String name,Object value)用于设定指定名字的属性值,并且把它存储在session对象中
void removeAttribute(String attrinaname)用于删除指定的属性(包括属性名、属性值)
Enumeration getAttributeNames()用于返回session对象中存储的每一个属性对象,结果集时一个Enumeration类的实例
long getCreationTime()用于返回session对象的被创建时间,单位为毫秒
long getLastAccessedTime()用于返回session最后发送请求的时间,单位为毫秒
String getId()用于返回session对象在服务器端的编号
long setMaxInactiveInterval()用于返回session对象的生存时间,单位为毫秒
boolean isNew()用于判断目前session是否为新的session,若是则返回true,否则返回false
void invalidate()用于销毁session对象,使得与其绑定的对象都无效
1、session对象的主要作用和含义

session对象的主要作用是存储、获取用户会话信息。

会话(session)的含义:用户在阅览某个网站时,从进去网站到浏览器关闭所经过的这段时间称为一次会话。当客户关闭阅览器后,一个会话结束。

2、session使用提示

session对象可以在一个网站(一个应用程序)任意的JSP页面中使用。但若在JSP页面中,page指令的session属性被设置成false时,即<%@page session="false">,在这个页面就不能使用session对象。

对于session对象中的setAttribute()和getAttribute()方法,与request对象中的setAttribute()和getAttribute()方法具有一样的功能和使用方法,只是使用范围不同。具体区别

application对象的主要方法

application对象的主要方法
方法说明
Object getAttribute(String attriname)获取指定属性的值
void setAttribute(String attriname,Object attrivalue)设置一个新的属性并保存值
void removeAttribute(String attriname)从application对象中删除指定的属性
Enumeration getAttributeNames()获取application对象中所有属性的形成
application对象、request对象、session对象的区别

1)session对象与用户会话相关,不同用户的session是完去不同的对象,在session中设置的属性只是在当前客户的会话范围内生效,客户超过保存时间不发送请求时,session对象将被回收。

2)所有访问同一网站的用户都有一个相同的application对象,只要关闭服务器后,application对象中设置的属性才被回收。

3)当客户端提交请求时,才创建request对象,当返回响应处理后,request对象自动销毁。

out对象

out对象的主要功能是向客户输出响应信息。其主要方法为print(),可以输出任意类型的数据,HTML标签可以作为out输出的内容。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值