jsp的9大内置对象详解

一:内置对象相关解释以及种类

1.
内置对象,顾名思义,就是在jsp中不用new的对象,jsp中自带的,可以直接使用的
2.
jsp中有9大内置对象,分别是:
请求对象:request
输出对象:out
响应对象:response
应用程序对象:application
会话对象:session
页面上下文对象:pageContext
页面对象:page
配置对象:config
异常对象:exception




二:详解其中几个重要的事内置对象

(一)request
(1)request:作用域:仅限于一次请求,请求对象,存储客户端向服务端发送的请求信息



(2)request对象常见方法:
string getParameter(Stringname):根据请求字段名Key,返回字段值value
string [ ]getParameterValues(String name):根据请求字段名Key,返回多个字段值value
void setCharacter Encoding:设置请求编码(编码格式“utf-8”)
getRequestDispatcher(“b.jsp”).forward(request,response):请求转发的方式条状页面A->B
getServerContext(); 获取项目的ServerContext对象



(3)页面跳转之——请求转发和重定向的区别
转发和重定向都可以实现页面的跳转:
转发:request.getRequestDispatcher("url").forward(request, response)
重定向:response.sendRedirect("url")

请求转发

重定向



(4)请求转发与重定向的区别
1、转发使用的是request.getRequestDispatcher()方法;重定向使用的是response.sendRedirect();
2、转发:浏览器URL的地址栏不变。重定向:浏览器URL的地址栏改变;
3、转发是服务器内部行为,重定向是客户端行为;
4、转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;
5、转发可以携带数据,信息不会丢失;重定向不能携带参数,信息会丢失(request范围)。
6、转发只能在服务器内部转发;重定向没有限制



(二)session(会话)
(1)session的解释

Session:会话技术,从客户端打开浏览器访问服务器,到最后客户端关闭浏览器,整个过程称为一次会话。
在这个会话的过程中,服务器会针对每个客户端创建一个和客户端相关的唯一的临时容器,这个容器用于保存当前客户的所有信息。
并且在给客户端响应数据的时候,会给客户端回送一个唯一标识当前客户端相关的临时容器的id,在客户端下次访问服务器的时候,会携带这个id信息,在服务器端就可以找到和客户端相关的临时戎, 继续使用这个临时容器。
如果获取这个Session对象,为每个客户端服务:在servlet可以通过Request对象获取和当前客户端相关的唯一Session对象。在jsp中可以直接使用



(2)session的销毁时间
1、一般在web服务器中Session有默认的存活时间,一般是半小时。如果在30分钟内,用户一直没有做任何操作,这时服务器会当前这个Session自动的销毁。
2、不正常关闭服务器。正常关闭服务器,服务器会把这个Session对象使用io流中的序列化技术保存在tomcat/work目录下
3、在Servlet程序中手动的销毁Session对象。session.invalidate();
Session的存活时间可以在web.xml中配置也可以通过方法指定:
setMaxInactiveInterval(int interval); //单位是秒,一般是在存储值的时候进行设置。



(3)session和cookie之间的联系(例子讲解)




(3)cookie的介绍
1.
Cookie技术主要需要依赖于给用户响应数据时,给用户的本地写数据。
创建一个 cookie,cookie 是 servlet 发送到 Web 浏览器的少量信息,这些信息由浏览器保存,然后发送回服务器。cookie 的值可以唯一地标识客户端,因此 cookie 常用于会话管理。
Cookie技术主要解决的是在客户端和服务器进行交互的过程中,保存用户的数据,这些数据主要是通过服务器使用Cookie对象写到客户端的浏览器中。然后在浏览器中保存这些数据。Cookie对象可以保存用户和服务器的交互数据,但是需要保存在客户端。

2
获取cookie
需要使用HttpServletRequest对象中的getCookies方法,会得到一个Cookie数组,这是因为一个站点可能会存放多个Cookie数据
例如:Cookie[] cookies = request.getCookies();
得到Cookie数组之后,判断cookies数组是否存在 cookies == null,如果cookies存在,根据cookie的name去查找指定cookie

3.
发送cookie
创建好Cookie对象之后,需要使用HttpServletResponse中的addCookie方法,将Cookie对象添加到响应中,然后发给客户端。
例如:response.addCookie(cookie);
在Cookie对象中提供了getName可以获取Cookie的key值,提供的getValue可以获取key对应的value值,同时也可以使用setValue给当前的Cookie对象设置value值。
SetPsth设置cookie可以访问资源路径
SetMaxAge() - 设置cookie的生存时间



(4)
session和cookie的区别

注意:cookie不是9大内置对象

因为cookie 不是9大内置对象之一,所以使用cookie时,必须要new
一个cookie的对象



(三)application

全局变量:整个项目运行期间 都有效(切换浏览器,仍然有效),但是关闭服务器或者访问其他项目都不行



(四)三个对象的对比

原文地址:https://blog.51cto.com/14441795/2422160

时间: 2024-07-31 12:27:58

jsp的9大内置对象详解的相关文章

JSP 9大内置对象详解

内置对象的特点: 1   由JSP规范提供,不用编写者实例化 2  通过web容器实现和管理 3  所有jsp页面均可使用 4  只有在脚本元素的表达式或代码中才可以使用(<%=使用内置对象%>或<%使用内置对象%>) 1  常用内置对象: 2  输入输出对象:request对象.response对象.out对象 3  通信控制对象:pageContext对象.session对象.application对象 4  Servlet对象:page对象.config对象 5  错误处理对

JSP 9 大内置对象详解

内置对象特点: 1.            由JSP规范提供,不用编写者实例化. 2.            通过Web容器实现和管理 3.            所有JSP页面均可使用 4.            只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>) 常用内置对象: 1.            输出输入对象:request对象.response对象.out对象 2.            通信控制对象:pageContext对象

JSP中九大内置对象详解

1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 序号 方 法 说 明1 object getAttribute(String name) 返回指定属性的属性值2 Enumeration getAttributeNames() 返回所有可用属性名的枚举3 String getCharacterEncoding() 返回字符编码方式4 int getContentLength() 返回

JSP九大内置对象详解

JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.request对象 request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据.(包括头信息.系统信息.请求方式以及请求参数等).request对象的作用域为一次请求. 2.res

JavaWeb学习(三)----JSP内置对象详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4065790.html 联系方式:[email protected] [系列]JSP学习系列文章:(持续更新) JavaWeb学习(一)----JSP简介及入门(含Tomcat的使用) JavaWeb学习(二)----JSP脚本元素.指令元素.动作元素 JavaWeb学习(三)----JSP内置对象

JSP的9大内置对象

1.概述 JSP的这9个内置对象,都是servlet API实例,即在JSP页面内部,可以直接使用; ps:顺便说下JSP的4大范围: JSP的四种范围,分别为page.request.session.application. application: 全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止. session: 会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态.生命周期:会话超时,或者服务器端强制使

jsp页面九大内置对象

资源转载自网上,不可用于商用,学习可以.内置对象又叫隐式对象/隐含对象是由WEB容器加载的一组类的实例,不需要预先声明就可以在脚本代码和表达式中随意使用的对象. 这九大隐式对象可以按照期作用分类为: 输入输出:request,response,out 作用域之间通信:session,application,pageContext,(request) Servlet对象:page,config 错误对象:Execpiton 4+2+3 四大作用域(1)-->Application,也就是servl

JSP的九大内置对象和四个作用域

JSP的九大内置对象: page,application,session,request,response,out,exception,config,pageContext. JSP的四个作用域:application,session,request,page. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

JSP的九大内置对象,七大动作指令,四个作用域,三个编译指令

JSP本质是Servlet, Servlet 可以理解为 Serve + Applet的结合.JSP可以在标准的HTML页面中插入java代码,从而能更好的控制HTML,通过在本地部署了服务器之后,将JSP项目添加到服务器然后运行即可在网页中浏览自己建立的jsp页面. JSP的九大内置对象:Application,Config,Exception,Out,PageContent,Page,Request,Respsonse,Session常用的有Request和response的一个页面重定向方