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内置对象经典面试题的更多相关文章

  1. IT兄弟连 JavaWeb教程 JSP内置对象经典案例

    案例需求:使用MVC模式编写一个程序当发起一个deptList.do请求时在servlet中准备一个部门列表对象,把这个列表对象放入request作用域中,然后转发到deptlist.jsp,使用js ...

  2. IT兄弟连 JavaWeb教程 JSP内置对象1

    JSP内置对象定义 JSP提供了由容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,它们起到了简化页面的作用,JSP的内 ...

  3. IT兄弟连 JavaWeb教程 JSP内置对象3

    读取web.xml配置信息的config对象 config对象主要用于取得服务器的配置信息.通过pageContxt对象的getServletConfig()方法获取一个config对象.当一个Ser ...

  4. IT兄弟连 JavaWeb教程 JSP内置对象2

    application对象 application对象用于保存所有应用程序中的公有数据.它在服务器启动时自动创建,在服务器关闭时销毁,当application对象没有被销毁时,所有用户都可以共享app ...

  5. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

    JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...

  7. JavaWeb基础-Jsp内置对象

    request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应,它是HttpServlteRequest类的实例.Request对象具有请求域,即完成客户端 ...

  8. IT兄弟连 JavaWeb教程 EL与JSTL表达式经典面试题

    1.简述EL表达式的作用 EL表达式的作用可分为以下三类 访问Bean的属性. 输出简单的运算结果. 获取请求参数值. 2.JSP标签的作用?如何定义? JSP标签可以分离JSP页面的内容和逻辑,业务 ...

  9. JavaWeb——JSP内置对象application,JSP属性范围

    application application语法 application对象 JSP属性范围 范围的分类 page request session application pagecontext延伸 ...

随机推荐

  1. EasyDarwin开源流媒体服务器gettimeofday性能优化(3000万/秒次优化至8000万次/秒)

    -本文由EasyDarwin开源团队成员贡献 一.问题描述 Easydarwin中大量使用gettimeofday来获取系统时间,对系统性能造成了一定的影响.我们来做个测试: While(1) { G ...

  2. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...

  3. java内存泄露具体解释

    非常多人有疑问,java有非常好的垃圾回收机制,怎么会有内存泄露?事实上是有的,那么何为内存泄露?在Java中所谓内存泄露就是指在程序执行的过程中产生了一些对象,当不须要这些对象时,他们却没有被垃圾回 ...

  4. Sql Server 2016 创建内存数据库

    官方教程:https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/survey-of-initial-area ...

  5. 7-12 畅通工程之最低成本建设问题(30 point(s)) 【PRIME】

    7-12 畅通工程之最低成本建设问题(30 point(s)) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出"畅通工程"的目标:使整个地区任何两个城镇间 ...

  6. 内核中led触发器实例【转】

    本文转载自:http://blog.csdn.net/yuanlulu/article/details/6438847 ======================================== ...

  7. hihocoder #1103 : Colorful Lecture Note微软苏州校招笔试 1月10日(字符串处理+栈)

    #1103 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorit ...

  8. source insight 快捷键

    source insight 返回上一视图 快捷键:ALT+, 浏览项目符号:F7 全局浏览查找某个名称开头的函数或结构体等

  9. MySql服务未知原因消失了的终极解决办法

    刚才突然MySQL-Front打开不了MySql,果不其然发现是MySql的服务不见了.想起可能是昨晚安装了PhpStudy的点了不要MySql的选项,它把我本身的MYSQL服务给卸载了. 解决办法  ...

  10. android:textAppearance

    Android之系统自带的文字外观设置及实际显示效果图 android:textAppearancexml布局里面设置文字的外观: 如“android:textAppearance=“?android ...