JSP内置对象

JSP内置对象

概念

JSP内置对象:JSP自带的,不需要new也能使用的对象

JSP预定义了内置对象原因:提高程序员的开发效率

特点

JSP的内置对象主要有以下特点:
1、由JSP规范提供,不用编写者实例化;
2、通过Web容器实现和管理;
3、所有JSP页面均可使用;
4、只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。

JSP的九大内置对象

一、Request对象(封装用户请求)

Request对象是javax.servlet.http.HttpServletRequest类的实例。代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。比如表单中的数据、网页地址后带的参数等。
作用范围: 在一个JSP页面向另一个JSP页面提出请求到请求完成之间,在完成请求后此范围即结束。

存储客户端向服务端发送的请求信息:
在这里插入图片描述
request获取客户端信息的常见方法
1. String getParameter(String name)
根据请求的字段名key(input标签的name属性值),返回字段值value(input标签value属性值)
功能:获取客户端传送给服务器的name参数的值,当传送给此函数的参数名没有实际参数与之对应时返回null

2. String[] getParameterValues(String name)
根据请求的字段名key,返回多个字段值value
功能:以字符串数组的形式返回指定参数的所有值

3. void setCharacterEncoding(“编码格式utf-8”)

4.getRequestDispatcher(“B.jsp”).forward(request,response)
请求转发的方式跳转页面 A到B

5. ServletContext getServerContext()
获取项目的ServletContext对象

二、Response对象( 向客户端响应)

Response对象是javax.servlet.http.HttpServletResponse类的实例。代表响应对象,主要用于向客户端发送数据。
提供的方法:
1. void addCookie(Cookie cookie)
服务端向客户端增加一个cookie对象

2. void setContentType(String type)
设置服务端响应时的编码,设置服务端的contentType类型

3. void sendRedirect(String location) throws IOException
页面跳转的一种方式(重定向),重定向是通过HttpServletResponse对象的sendRedirect()来实现,该方法相当于浏览器重新发送一个请求。

三、Out对象(输出对象)

Out对象是javax.servlet.jsp.JspWriter类的实例,out = pageContext.getOut();该实例代表JSP页面的输出流主要用于向客户端浏览器输出数据。
例如:
<% out.print(“<p> helloOut<p>”);%>
<% String srt=“helloOut”;%>

四、Application对象(全局对象)

Application对象是javax.servlet.ServletContext类的实例。主要用于保存用户信息,代码片段的运行环境;它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享。
作用范围: 作用范围起始于服务器开始运行,application对象被创建之时;终止于服务器关闭之时。
方法:
1、String getContextPath(); 获取虚拟路径;
2、String getRealPath(); 获取绝对路径(虚拟路径相对的绝对路径)。

五、PageContext对象(JSP页面容器对象)

PageContext对象是javax.servlet.jsp.PageContext类的实例。用来管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由JSP容器来完成的,用于访问各种page的各种对象。

六、Config对象(服务器配置信息)

Config对象是javax.servlet.ServletConfig类的实例。是代码片段配置对象,表示Servlet的配置。

七、Page对象

Page对象是javax.servlet.jsp.HttpJspPage类的实例。用来处理JSP网页,它指的是JSP页面对象本身,或者说代表编译后的servlet对象,只有在JSP页面范围之内才是合法的。
作用范围: 有效范围是当前页面。

八、Exception对象

Exception对象是java.lang.Throwable类的实例。处理JSP文件执行时发生的错误和异常只有在JSP页面的page指令中指定isErrorPage=“true”后,才可以在本页面使用exception对象。
需要说明的是,pageContext中的属性默认在当前页面是共享的;session中的属性在当前session中是共享的;application对象中的属性则对所有页面都是共享的。
常用的方法有:
1、​ exception.getMessage(); 返回异常信息字符串;
2、exception.toString(); 异常信息简单描述。

九、 session对象

Session 对象是javax.servlet.http.HttpSession类的实例。主要用来保持在服务器与一个客户端之间需要保留的数据,比如在会话期间保持用户的登录信息等,会话状态维持是Web应用开发者必须面对的问题。当客户端关闭网站的所有网页或关闭浏览器时,session对象中保存的数据会自动清除。由于Htp协议是一个无状态协议,不保留会话间的数据,因此通过session对象扩展了htp的功能。比如用户登录一个网站之后,登录信息会暂时保存在session对象中,打开不同的页面时,登录信息是可以共享的,一旦用户关闭浏览器或退出登录,就会清除session对象中保存的登录信息。
作用范围: 有效范围是整个用户会话的生命周期内。每个用户请求访问服务器时一般就会创建一个session对象,用户断开退出时session对象失效。
服务器对session对象有默认的时间限定,如果超过该时间限制,session会自动失效,而不管用户是否已经终止连接,这主要是出于安全性的考虑。

首先,session(服务端);cookie(客户端,不是内置对象)

session对应类(接口)是:javax.servlet.http.HttpSession;
这里就要说到Cookie对象。

Cookie对象的本质是:
Cookie:key=value
Cookie对象由javax.servlet.http.Cookie产生

Cookie对象有的方法:

1、public Cookie(String key, String value)
2、String getName()
3、String getValue()
4、void setMaxAge(int expiry);

在回过来说到session对象。
session对象的方法有:

1、String getId():获取sessionId
2、boolean isNew():判断是否是新用户(第一次访问)
3、void invalidate():使session失效(退出登录、注销)
4、void setMaxInactiveInterval(秒):设置最大有效 非活动时间
5、int getMaxInactiveInterval():获取最大有效 非活动时间

参考文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值