71.jsp有哪些内置对象?作用分别是什么?
- Page,
- pageContext,
- request,
- response,
- session,
- application,
- out,
- config,
- exception
- Page指的是JSP被翻译成Servlet的对象的引用.
- pageContext对象可以用来获得其他8个内置对象,
- 还可以作为JSP的域范围对象使用.
- pageContext中存的值是当前的页面的作用范围
- request代表的是请求对象,
- 可以用于获得客户机的信息,
- 也可以作为域对象来使用,
- 使用request保存的数据
- 在一次请求范围内有效。
- Session代表的是一次会话,
- 可以用于保存用户的私有的信息,
- 也可以作为域对象使用,
- 使用session保存的数据在一次会话范围有效
- Application:代表整个应用范围,
- 使用这个对象保存的数据
- 在整个web应用中都有效。
- Response是响应对象,
- 代表的是从服务器向浏览器响应数据.
- Out:JSPWriter是用于
- 向页面输出内容的对象
- Config:指的是ServletConfig
- 用于JSP翻译成Servlet后
- 获得Servlet的配置的对象.
- Exception:在页面中设置isErrorPage=”true”,
- 即可使用,
- 是Throwable的引用.用来获得页面的错误信息。
72.jsp有哪些动作?作用分别是什么?
- jsp:include:
- 在页面被请求的时候引入一个文件。
- jsp:useBean:
- 寻找或者实例化一个JavaBean。
- jsp:setProperty:
- 设置JavaBean的属性。
- jsp:getProperty:
- 输出某个JavaBean的属性。
- jsp:plugin:
- 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
- jsp:forward:
- 把请求转到一个新的页面。
73.JSP中动态INCLUDE与静态INCLUDE的区别?
- 1. 静态include的结果是
- 把其他jsp引入当前jsp,
- 两者合为一体
- 动态include的结构是两者独立,
- 直到输出时才合并
- 看看jsp生成的java文件就可以知道了
- 2.正是因为这样,
- 动态include的jsp文件独立性很强,
- 是一个单独的jsp文件,
- 需要使用的对象,
- 页面设置,都必须有自己创建,
- 当然,还好它和include
- 它的页面的request范围是一致的.
- 而静态include纯粹是把代码
- 写在外面的一种共享方法,
- 所有的变量都是可以
- 和include它的主文件共享
- ,两者高度紧密结合,
- 不能有变量同名的冲突.
- 而页面设置也可以借用主文件的.
74.说一说Servlet的生命周期?
- servlet 的生命周期是有四个阶段:
- 实例化 –>
- 初始化 –>
- 请求处理 –>
- 销毁
- 创建 Servlet 实例。
- Web 容器调用 Servlet 的 init() 方法,
- 对Servlet 进行初始化。
- Servlet 初始化后,
- 将一直存在于容器中,
- 用于响应客户端请求。
- 根据客户端的请求方式通过 Servlet 中service() 方法
- 去相应的 goGet(),或 doPost() 方法;
- Web 容器销毁Servlet 时,
- 调用 Servlet 的 destroy() 方法,
- 通常在关闭Web容器之时销毁Servlet。
- servlet 生命周期的三个方法:
- ? init()方法:
- Servlet实例化时调用此方法
- ? Service()方法:
- 客户请求和响应调用此方法。
- ? Destroy()方法:
- 释放内存,关闭web服务器调用此方法
75.说说JSP 的生命周期?
- 浏览器首先要请求一个以.jsp扩展名结尾的页面,
- 发起JSP请求,
- 然后,Web服务器读取这个请求,
- 使用JSP编译器把JSP页面
- 转化成一个Servlet类。
- 需要注意的是,
- 只有当第一次请求页面
- 或者是JSP文件发生改变的时候
- JSP文件才会被编译,
- 然后服务器调用servlet类,
- 处理浏览器的请求。
- 一旦请求执行结束,
- servlet会把响应发送给客户端。
- jsp 的生命周期分为四个阶段:
- 编译
- 初始化
- 执行
- 销毁