JSP内置对象和4大作用域

什么是JSP内置对象

JSP内置对象,就是编写JSP页面时,不需要做任何声明就可以直接使用的对象,列如下面的代码片段。

 <%

        int [] value = { 60 , 70 , 80};

        for(int i : value){

                out.print(i);

        }

%>

代码out.print()可以实现页面的输出显示,但是在代码中并没有任何地方声明和创建这个out对象,没有创建就可以直接使用的原因是out对象是JSP内置对象之一。

除了out对象以外,在JSP中还有一些其他的内置对象。如下图:

out内置对象是在JSP开发过程中使用最频繁的对象,同时使用起来也是最简单的。out对象用于向浏览器输出数据,其常用的方法就是print(),这个方法用于在页面中显示字符串信息。

<%

        out.print("Hello JSP");

%>

JSP内置对象request

request是用于处理请求数据的。request对象也是最常用的JSP内置对象之一,其中包含啦有关浏览器请求的信息。其工作原理:

                                                 request对象常用方法

                方法名称                               说明
String getParameter(Strring name)根据页面表单组件名称获取页面提交数据
String[] getParameterValues(String name)获取一组以相同名称命名的表单组件提交的数据
void setCharacterEncoding(String charset)指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以用于解决中文乱码问题
RequestDispatcher getRequestDispatcher(String path)返回一个java.servlet.RequestDispatcher对象,该对象的forward()方法用于转发请求

 JSP内置对象response

与request对象相对应的对象是response对象,response对象可用于设置响应参数及取得响应流等,其工作原理:

 于request对象一样,response对象也提供啦多个方法用于处理HTTP响应。

                                       response对象的常用方法

                       方法名称                               说明
void addCookie(Cookie cookie)向客户端添加Cookie
void setContentType(String type)设置HTTP响应的contentType类型
void setCharacterEncoding(String charset)设置响应所采用的字符编码类型
void sendRedirect(String location)将请求重新定位到一个新的URL上

                                                内置对象session

方法名称说明
String getId()获取sessionid
void setMaxInactiveInterval(int interval)设置session过期时间,单位为秒
int getMaxInactiveInterval()获取session过期时间,单位为秒
void invalidate()设置session对象失效
void setAttribute(String key,Object value)以key/value的形式将对象保存到session中
Object getAttribute(String key)通过key获取session中保存的对象
void removeAttribute(String key)从session中删除指定key对应的对象

                                        内置对象application

方法名称说明
void setAttribute(String key,Object value)以key/value的形式将对象存储到application中
Object getAttribute(String key)通过key获取application中存储的对象
String getRealPath(String path)返回相对路径的真实路径

  application对象类似于系统的“全局变量”,用于同一个应用内的所有用户之间的数据共享。

                                            JAVA内置对象

内置对象名称说明
out对象用于向客户端输出数据
request对象主要用于处理客户端请求的数据信息
response对象用于响应客户端请求并向客户端输出信息
session对象用于记录会话状态的相关信息
application对象类似于全局变量,用于实现web应用中的资源共享

        

                                          JSP的其他内置对象

pageContext:提供了在JSP运行时访问和其相关的环境信息的能力。通过pageContext对象可以访问和当前JSP页面相关联的所有作用域(当前页作用域),以及一些页面属性

常用方法:

ServletRequest getRequest():获得request对象

ServletResponse getResponse():获得response对象

HttpSession getSession:获得session对象

JspWriter getOut():获得out对象

void setAttribute():保存属性

Object getAttribute():获得属性

void include():请求指定的资源,并将目标资源的响应结果包含在调用页面的响应中

page:表示当前页面,类似于Java中的this。在JSP页面中,很少使用page对象

config:用于存放JSP编译后的初始数据。与page对象一样,在JSP页面中很少使用

exception:表示JSP页面运行时产生的异常和错误信息,该对象只有在错误页面(page指令中设定isErrorPage为true的页面)中才能够使用


对象的作用域

在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域

page作用域

page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。page作用域可以使用pageContext对象的setAttribute()和getAttribute()方法进行访问。page作用域在客户端每次请求jsp页面时创建,在服务器发送响应或请求转发到其他页面或资源后失效。

 request作用域

request作用域:一次请求,与客户端的请求绑定在一起。其作用域范围比page大,可以通过调用request对象的setAttribute()和getAttribute()方法进行访问。request作用域在页面转发中同样有效,通过调用RequestDispatcher的forward()方法进行转发,或调用其include()方法将页面包含,都可以共享request作用域。

每次新请求都会创建一个新的request作用域,请求结束时该作用域失效。

session作用域

session作用域:一次会话,即浏览器打开到关闭。在会话有效期内,只要将数据绑定到session作用域中,则该数据可以被本次会话中的其他页面所访问。可以通过session.setAttribute() 和session.getAttribute()方法进行访问其作用域。

application作用域

application作用域:整个web应用,即从tomcat启动到停止,被该应用下的所有用户共享。通过application.setAttribute() 和application.getAttribute()方法进行访问

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥也不会......

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值