转载自 JAVA面试常考系列十一
题目一
什么是JSP?
JSP(Java Server Page)是一个文本文档,是一种将静态内容和动态生成内容混合在一起的技术。
JSP包含两种类型的文本:静态数据和JSP元素。静态数据可以用任何基于文本的格式表示,如HTML或XML。
题目二
如何处理JSP请求?
1.收到JSP请求之后,浏览器首先请求一个扩展名为.jsp的页面。
2.Web服务器读取请求,并使用JSP编译器将JSP页面转换为一个servlet类。需要注意的是,只有第一次请求或者是JSP文件变化的时候,才会编译JSP文件。
3.调用生成的servlet类处理浏览器的请求。
4.请求执行结束,servlet将响应发送回客户端。
题目三
JSP有哪些优点?
使用JSP技术有下面的一些优点:
1.页面可以预编译。
2.代码更新容易,因为JSP页面被动态地编译成了servlet。
3.可以将JSP页面轻松地与包含HTML或XML片段的静态模板组合,并生成动态内容。
4.以提供定制的JSP标签库,页面作者可以使用类似XML的语法进行访问。
5.无需编辑使用应用程序逻辑的各个页面,可以在组件级别进行逻辑更改。
题目四
JSP中指令(Directive)的作用是什么?JSP中有哪些不同类型的指令?
指令用于设置页面级指令,从外部文件插入数据,指定自定义标签库。
指令定义<%@ and %>。
具体的指令如下表所示:
什么是JSP动作?有哪些作用?
使用XML语法的结构来控制servlet引擎的行为,是JSP动作。
JSP页面被请求时,执行JSP动作。JSP动作可以动态插入到文件中,重用JavaBeans组件,将用户转发到其它页面或为Java插件生成HTML。
题目六
JSP动作的语法是什么?有哪些标准动作元素?
语法只有一种:
<jsp:action_name attribute=”value”>
标准动作元素如下:
题目七
Scriptlet是什么?有哪些作用?
定义在JSP技术中,scriptlet是一段有效的Java程序,程序嵌入在JSP页面中。当Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。
标签(<% %>)中除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码。Java类在Jsp外部定义,可以使用page指令的import属性引入,或者以Java Bean的形式使用。Java中的方法必须在类内定义,但Jsp允许使用声明定义方法。需要注意的是,窗体(GUI)设计代码在Jsp中无效。
任何文本,HTML标记,JSP元素必须在scriptlet之外,当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内容,这些显示的内容就被存在out对象中。
作用
1.用来声明将要用到的变量或方法;
2.用来编写JSP表达式;
3.使用任何隐含的对象和任何用<jsp:useBean>声明过的对象。
题目八
JSP中的Decalarations是什么?
JSP声明与Java中的变量声明类似。声明用于声明变量,以便随后在表达式或脚本中使用。注意,添加声明时,必须使用序列来包含添加的声明。
题目九
JSP中的表达式的作用是什么?
JSP表达式的作用是将脚本语言表达式的值(转换为字符串)插入Web服务器返回给客户端的数据流中。表达式是在<% = and %>标签之间定义的。既可以用来创建算术表达式,同样可以用来创建逻辑表达式。
题目十
JSP隐式对象是什么?有哪些?
JSP隐式对象是JSP容器在每个页面中提供给开发人员的Java对象,开发人员可以无需明确声明直接调用。JSP隐式对象也称为预定义变量。
JSP所支持的隐式对象: