SKY外语计算机学习
标题:
Java Web开发的面试题
[打印本页]
作者:
回忆搁浅
时间:
2012-11-8 17:56
标题:
Java Web开发的面试题
本帖最后由 sky_yx 于 2015-12-30 14:10 编辑
说一说Servlet的生命周期?
四个阶段:
实例化:
初始化:第一次请求servlet时,通过调用servlet的init()方法进行servlet的初始化。
Servlet的基本架构
我们通常用的servlet都是继承了HttpServlet类,而HttpServlet又实现了GenericServlet接口,GenericServlet又是实现了Servlet,ServletConfig接口。
Servlet extends HttpServlet extends GenericServlet implements Servlet,ServletConfig
forward 和redirect的区别
1.forword仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
redirect是则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
2.Forward只能在整个web应用里面跳转,redirect则可以跳到站外去。
3.如果request里面保存有数据的话则须使用forward跳转
jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
JSP共有以下9个内置的对象,分为四大类:
输入/输出对象:
request: 用户端请求,此请求会包含来自GET/POST请求的参数
response:将JSP处理数据后的结果返回到客户端
out:用于将内容写入JSP页面实例的输出对象
作用域通信和控制对象:
session: 记录用户状态并实现会话跟踪的隐式对象
application:servlet上下文对象,同一个容器的不同servlet对象通过该对象实现数据通讯。
pageContext:容器自动为每个JSP页面创建与之对应的pageContext对象,并通过它获得与JSP对应的servlet相关对象,同时它也是一个对象的页面作用域。
servlet相关对象:
page:JSp本身,更确切地说表示与JSP对象的servlet类的实例
config:存放于JSP相关的初始化数据。
错误处理对象:
exception:处理JSP异常的对象(注意指定错误处理页面)
jsp有哪些动作?
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
常用的JSP指令?
include指令,用来在JSP文件转换成Servlet时引入其他文件。
page指令,用来完成下面这类任务,导入指定的类,自定义Servlet的超类,等等;
taglib指令,其目的是让JSP开发者能够自己定义标签
JSP的组成元素?
七大组成元素:
静态类容:HTML静态文本
指令:以“<%@ ” 开始,以“%> ” 结束。
比如:<%@ include file = " Filename" %>
表达式:<%=Java表达式 %>
小脚本:<% Java 代码 %>
声明:<%! 方法 %>
动作:以“<jsp: 动作名 ”开始,以“</jsp:动作名> “ 结束比如:<jsp:include page=" Filename" />
注释:HTML注释<!-- 这是注释,但客户端可以查看到 -->
JSP注释<%-- 这也是注释,但客户端不能查看到 --%>
JSP中动态包含与静态包含的区别?
include指令包含(静态包含):
<%@ include file=”xx.jsp”%>,include指令将file属性看作一个实际存在的文件的路径,所以该属性不支持任何表达式
静态包含是一个JSP页面中使用include指令来包含另外的JSP页面,最终编译后的文件只有一个
include动作包含(动态包含):
<jsp:include page=”xx.jsp”>动作标识通过page属性来指定被包含的页面,该属性支持JSP表达式。
动态包含是一个JSP页面中使用include动作转到要包含的JSP页面,最终编译后的文件有两个。
在什么情况下使用两种包含呢?
当被 包含的文件经常改动时,建议使用动态包含,对主文件没有影响,不用重新编译,效率较高。
JSP 执行过程?
翻译阶段:JSP文件会被Web容器中的JSP引擎转换成Java源码index.jsp?index_jsp.java
编译阶段:Java源码会被编译成可执行的字节码index_jsp.java?index_jsp.class
执行阶段:容器接受了客户端的请求后,执行编译成字节码的JSP文件;处理完请求后,容器把生成的页面反馈给客户端进行显示
欢迎光临 SKY外语计算机学习 (http://join.skywj.com/)
Powered by Discuz! X2.5