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
全局变量:整个项目运行期间 都有效(切换浏览器,仍然有效),但是关闭服务器或者访问其他项目都不行
(四)三个对象的对比
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站栏目:jsp的9大内置对象详解-创新互联
文章起源:http://hbruida.cn/article/cossog.html