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

JSP内置对象

JSP内置对象
对象名称 所属类型 有效范围 说明
application javax.servlet.ServletContext application 代表应用程序上下文(只要Web服务器运行着,该对象就存在),允许JSP页面与包括在同一应用程序中的任何Web组件共享信息
config javax.servlet.ServletConfig page 允许将初始化数据传递给一个JSP页面
exception java.lang.Throwable page 该对象含有只能由指定的JSP“错误处理页面”访问的异常数据
out javax.servlet.jsp.HttpJspWriter page 提供对输出流的访问
page javax.servlet.jsp.HttpJspPage page 代表JSP页面对应的Servlet类实例
pageContext javax.servlet.jsp.PageContext page 是JSP页面本身的上下文,提供了唯一一组方法来管理具有不同作用域的属性
request javax.servlet.http.HttpServletRequest request 提供对请求数据的访问,同时还提供用于加入特定请求数据的上下文
response javax.servlet.http.HttpServletResponse page 该对象用来向客户端提供输入数据
session Javax.servlet.http.HttpSession session 用来保存在服务器端与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,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)和的区别

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

2)带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)
(4)

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输出的内容。

你可能感兴趣的:(java,前端)