问题一:什么是JSP页面?
JSP(Java Servlet Pages)是java开发的专门用于动态页面显示的技术。jsp编译时,会首先编译成servlet文件,然后编译成class文件。可以说JSP是Servlet的一种特殊表现形式,本质还是Servlet。
包含九大内置对象:response、request、execption、out、application、pagecontext、config、session 、page。
有四个域对象:request、pagecontext、session、application。
问题二:JSP请求是如何被处理的?
客户端通过浏览器发送jsp请求,服务器接受到请求后,判断是否是第一次请求该页面,或者该页面是否改变,若是,服务器将执行将jsp页面 翻译 成servlet(.java)文件,JVM将servlet 编译 为 .class 文件,字节码文件加载到服务器内存上执行,服务器将处理结果以 .html 页面的形式返回给客户端。若该页面不是第一次请求,则省略翻译和编译的步骤,直接执行显示。
问题三 :JSP有何优点?
- JSP页面时被动态编译成为servlet的,因此,开发者可以很容易的更新展现代码。
- JSP页面可以被预编译。
- JSP页面可以很容易的和静态模板结合,包括HTML和XML,也可以很容易的和产生动态内容的代码结合起来。
- 开发者可以提供页面设计者以类XML格式来访问的自定义的JSP标签库。
- 开发者可以在组件层做逻辑上的改变,而不需要编辑单独使用了应用层逻辑的页面。
问题四:什么是JSP指令(Directive)?JSP中有哪些不同类型的指令?
Directive是当JSP页面被编译成Servlet的时候,JSP引擎要处理的指令。Directive用来设置页面级别的指令,从外部文件插入数据,指定自定义的标签库。Directive是定义在 <%@ 和 %>之间的。下面列出了不同类型的Directive:
- 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面。
- 页面指令(Page directive):用来定义JSP页面中特定的属性,比如错误页面和缓冲区。
- taglib指令: 用来声明页面中使用的自定义的标签库
语法格式如下:
<%@ directive attribute="value" %>
指令可以有很多的属性,他们以键值对的形式存在,并用逗号隔开
JSP中的三种指令标签:
指令 | 描述 |
---|---|
<%@ page .... %> | 定义网页依赖属性,比如脚本语言,error页面、缓存需求等等。。。。 |
<%@ include .... %> | 包含其他文件 |
<%@ taglib ..... %> | 引入标签库的定义 |
问题五:什么是JSP动作(JSP action)?
JSP动作以XML语法的结构来控制Servlet引擎的行为。当JSP页面被请求的时候,JSP动作会被执行。它们可以被动态的插入到文件中,重用JavaBean组件,转发用户到其他的页面,或者是给Java插件产生HTML代码。下面列出了可用的动作:
- jsp:include-当JSP页面被请求的时候包含一个文件。
- jsp:useBean-找出或者是初始化Javabean。
- jsp:setProperty-设置JavaBean的属性。
- jsp:getProperty-获取JavaBean的属性。
- jsp:forward-把请求转发到新的页面。
- jsp:plugin-产生特定浏览器的代码。
链接:https://www.nowcoder.com/questionTerminal/43c79e3bbf2d4a32bfde229e542a86e6
来源:牛客网