IT兄弟连 JavaWeb教程 JSP内置对象经典面试题
1.请说明cookie、request、session、application的作用域和声明周期?
并说明它们适用与什么场景?
request的生命周期是一次请求。可以用于JSP表单提交数据。
session会话可以设置它的超时时间,Tomcat中的默认时间为30分钟,session对象的典型应用时用来对用户的身份进行验证,进而进行权限设置。
cookie存放的载体在客户端的浏览器中,生命周期默认时根据服务器返回的Set-Cookie头设置的,共两大类:
会话cookie:浏览器一关闭就清除了。
有过期时间:超过设定的过期时间才会消失。
cookie能使用户在不输入用户名和密码的情况下进入曾经浏览过的一些站点。
application生命周期在整个应用程序中。开始于应用启动,应用停止时被销毁。application对象的最常见的应用时用来统计页面的访问人数或者是记录网站的在线人数。
2.在JSP页面中,能否获得Servlet中request.setAttribute中的值,如果 能获得,可以通过那种方式,如果不能,简述为什么?
Servlet通过转发方式跳转到JSP页面,JSP页面就可以获得request中属性的值。例如:
Servlet代码如下:
request.setAttribute("name","xdl");
request.getRequestDispatcher("/index.jsp").forward(request,response);
JSP代码如下:
<%=request.getAttribute("name") %>
3.JSP内置对象及方法
JSP有9个内置对象:request、response、out、session、pageContext、applicaton、config、page、exception。
(1)request表示javax.servlet.http.HttpServletRequest对象,用于获取客户端提供的数据,包括头信息、客户端地址、请求方式等。主要方法如下:
1)getCookies():返回客户端所有Cookies对象,结果是—个Cookies数组。
2)getSession():返回与请求相关的session。
3)setAttribute(String key,Object obj):设置属性的属性值。
4)getAttribute(String name):返回指定属性的属性值。
5)request.getParameter(String name):获得客户端传送给服务器端的参数值。
6)getCharacterEncoding():返回字符编码方式。
6)getContentType():得到请求体的MIME类型
(2)response表示javax.servlet.http.HttpServletResponse对象,用于对客户端的请求作出动态的响应,向客户端发送数据。主要方法有:
1)addCookie(Cookies c):添加—个Cookie对象,用来保存客户端的用户信息。
2)sendRedirect(String location):把响应发送到另一个位置进行处理。
3)sendError(int):向客户端发送错误的信息。
4)getBufferSize():返回缓冲区的大小。
5)getOutputStream():返回客户端的输出流对象。
6)setContentType(String ContentType):设置相应的MIME类型。
7)setHeader(String name,String value):设置指定名字的HTTP文件头的值如果已经存在则将覆盖已经存在的值。
8)encodeURL(String url):使用sessionld封装URL。如果没有必要封装URL,返回原值。
(3)out对象是javax.servlet.jsp.JspWriter的—个实例,用来向客户端输出各种数据。主要方法如下:
1)print()/println():根据参数类型输出各种类型的数据。
2)flush():输出缓冲区的数据。
3)close():关闭输出流。
4)clear():清除缓冲区里的数据,但不会把数据输出到客户端。
5)getBufferSize():获得缓冲区的大小。
6)clearBuffer():清除缓冲区里的数据,并把数据输出到客户端。
7)getRemaining():获得缓冲区中没有被占用的空间的大小。
8)isAutoFlush():返回布尔值,如果AutoFlush为真,返回true:反之,返回false。
(4)pageContext表示—个javax.servlet.jsp.PageContext对象。它是用于方便存取所有范围的名字空间的对象,并且包装了通用的servlet相关功能的方法。主要方法如下:
1)getOut():返回当前客户端响应被使用的JspWriter流(out)。
2)getSession():返回当前页中的HttpSession对象(session).
3)getPage():返回当前页的Obj ect对象(page)。
4)getRequest():返回当前页的ServletRequest对象(request).
5)getResponse():返回当前页的ServletResponse对象(response)。
6)getException():运回当前页的Exception对象(exception)。
7)getServletConfig():返回当前页的ServletConfig对象(config).
8)getServletContext():返回当前页的ServletContext对象(application).
9)setAttribute(String name,Object attribute):设置属性及属性值。
10)getAttribute(String name,int scope):在指定范围内取属性的值。
11)removeAttribute(String name):删除某属性。
12)release():释放pageContext所占用的资源。
13)forward(String relativeUrIPath):使当前页面重导到另一页面。
14)include(String relativeUrIPath):在当前位置包含另一文件。
(5)session表示—个请求的javax.servlet.http.HttpSession对象。Session用来保存用户的会话信息和会话状态。主要方法如下:
1)setAttribute(String name.Object obj):设置指定名字name的属性值value,并存储在session对象中。
2)getAttribute(String name):获取与指定名字name相联系的属性。
3)invaldate():取消SESSION,使SESSION不可用。
4)getld():返回SESSION创建时JSP引擎为它设的惟-ID号。
5)getCreationTime():返回SESSION创建时间。
6)getLastAccessedTime():返回此SESSION里客户端最近一次请求时间。
7)getMaxlnactivelnterval():返回两次请求间隔多长时间此SESSION被取消。
8)getValueNames():返回—个包含此Session中所有可用属性的数组。
9)removeValue(String name):删除Session中指定的属性。
(6)application表示—个javax,servlet.ServletContext对象。用于用户间的数据共享,可以存放全局变量。主要方法如下:
1)getAttribute(String name):返回给定名的属性值。
2)getAttributeNames():返回所有可用属性名的枚举。
3)setAttribute(String name,Object obj):设定属性的属性值。
4)removeAttribute(String name):删除—属性及其属性值。
5)getServetInfo():返回JSP(Servlet)引擎名及版本号。
6)getReaIPath(String path):返回—虚拟路径的真实路径。
7)getContext(String uripath):返回指定WebApplication的application对象。
8)getResource(String path):返回指定资源(文件及目录)的URL路径。
9)getRequestDispatcher(String uripath):返回指定资源的RequestDispatcher。
(7)config表示—个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。主要方法如下:
1)getServletContext():退回含有服务器相关信息的ServletContext对象。
2)getlnitParameter(String name):返回初始化参数的值。
3)getlnitParameterNames():返回Servlet初始化所需所有参数的权举。
(8)page表示从该页面产生的—个servlet实例,即this。
(9)exception用于处理JSP页面发生的错误和异常。主要方法有:
1)getMessage():返回描述异常的消息。
2)toString():返回关于异常的简短描述消息。
3)printStackTrace():显示异常及其栈轨迹。
4)filllnStackTrace():重写异常的执行栈轨迹。
IT兄弟连 JavaWeb教程 JSP内置对象经典面试题的更多相关文章
- IT兄弟连 JavaWeb教程 JSP内置对象经典案例
案例需求:使用MVC模式编写一个程序当发起一个deptList.do请求时在servlet中准备一个部门列表对象,把这个列表对象放入request作用域中,然后转发到deptlist.jsp,使用js ...
- IT兄弟连 JavaWeb教程 JSP内置对象1
JSP内置对象定义 JSP提供了由容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,它们起到了简化页面的作用,JSP的内 ...
- IT兄弟连 JavaWeb教程 JSP内置对象3
读取web.xml配置信息的config对象 config对象主要用于取得服务器的配置信息.通过pageContxt对象的getServletConfig()方法获取一个config对象.当一个Ser ...
- IT兄弟连 JavaWeb教程 JSP内置对象2
application对象 application对象用于保存所有应用程序中的公有数据.它在服务器启动时自动创建,在服务器关闭时销毁,当application对象没有被销毁时,所有用户都可以共享app ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- JavaWeb基础-Jsp内置对象
request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应,它是HttpServlteRequest类的实例.Request对象具有请求域,即完成客户端 ...
- IT兄弟连 JavaWeb教程 EL与JSTL表达式经典面试题
1.简述EL表达式的作用 EL表达式的作用可分为以下三类 访问Bean的属性. 输出简单的运算结果. 获取请求参数值. 2.JSP标签的作用?如何定义? JSP标签可以分离JSP页面的内容和逻辑,业务 ...
- JavaWeb——JSP内置对象application,JSP属性范围
application application语法 application对象 JSP属性范围 范围的分类 page request session application pagecontext延伸 ...
随机推荐
- EasyDarwin开源流媒体云平台之语音对讲功能设计与实现
本文由EasyDarwin开源团队成员Alex贡献:http://blog.csdn.net/cai6811376/article/details/52006958 EasyDarwin云平台一直在稳 ...
- Struts2中的数据类型转换
Struts2对数据的类型转换 一.Struts2中自带类型转换拦截器 Struts2内部提供了大量转换器,用来完成数据类型转换的问题,有如下 * boolean 和 Boolean * char和 ...
- netty+Protobuf (整合一)
netty+Protobuf 整合实战 疯狂创客圈 死磕Netty 亿级流量架构系列之12 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 整合实战的 第一篇,完成一个 基于Ne ...
- Java类加载器( 死磕9)
[正文]Java类加载器( CLassLoader ) 死磕9: 上下文加载器原理和案例 本小节目录 9.1. 父加载器不能访问子加载器的类 9.2. 一个宠物工厂接口 9.3. 一个宠物工厂管理 ...
- select version();desc mysql.user;
D:\wamp64\wamp\bin\mysql\mysql5.6.17\bin>mysql -hgoDev -uroot -ppasswordWarning: Using a password ...
- javascript --- 声明提前(学习笔记)
声明提升 未声明变量 console.log(a); 在没有定义 a 的情况下,直接使用,会报错. 声明变量 console.log(a); var a = 2; 输出结果:undefined 并不会 ...
- 基于springboot的Dubbo的常规总结
1.引入jar包: <!-- Spring Boot Dubbo 依赖 --> <dependency> <groupId>com.alibaba.spring.b ...
- Ubuntu 14.04 下 android studio 安装 和 配置【转】
本文转载自:http://blog.csdn.net/xueshanfeihu0/article/details/52979717 Ubuntu 14.04 下 android studio 安装 和 ...
- java HttpClient POST请求
一个简单的HttpClient POST 请求实例 package com.httpclientget; import java.awt.List; import java.util.ArrayLis ...
- Android记录程序崩溃Log写入文件
将导致程序崩溃的堆栈调用Log写入文件,便于收集bug.在调试安卓程序,由于某些原因调试时手机不能连接PC端,无法通过IDE查看程序崩溃的Log,希望log能够写入文件中,对于已经发布的App可以通过 ...