撩课-Java每天5道面试题第8天
程序员文章站
2022-03-30 17:52:15
71.jsp有哪些内置对象?作用分别是什么? 72.jsp有哪些动作?作用分别是什么? 73.JSP中动态INCLUDE与静态INCLUDE的区别? 74.说一说Servlet的生命周期? 75.说说JSP 的生命周期? ......
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 的生命周期分为四个阶段: 编译 初始化 执行 销毁