JSP期末考试复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1-2 JSP中可重复使用的组件有哪些?
JavaBean/JSP标准标签/自定义标签
1-3 什么是JSP的预编译特征?
答:JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP 页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。
1-8 开发JSP程序可采用哪几种开发模式?分别介绍他们的优缺点。
答:第一种:单纯的JSP页面编程
优点是容易实现;缺点是程序结构混乱,维护不便。
第二种:JSP+JavaBean编程
优点是结构比较清晰;缺点是将流程控制放到JSP中,JSP不能单纯作为显示功能
第三种:JSP+JavaBean+Servlet编程
优点是层次关系明显、组件分工明确;缺点是对开发人员能力要求较高,不适合JSP初学者。
2-2 什么是成员变量和局部变量?他们的区别是什么
答:成员变量是在类体中变量定义部分所声明的变量;
局部变量是在方法体重声明的变量和方法的参数
两者的区别在于有效范围不同,成员变量在整个
类内都有效,而局部变量只在定义他的成员方法
内才有效。
2-3 如何创建、使用并销毁对象?
答:创建对象的方法:
类名对象名;
对象名 = new 构造方法名([参数列表]);
或者:
类名对象名 = new 构造方法名([参数列表]);
使用对象的方法:可以通过对象来引用其成员变量,并改变成员变量的值,而且还可以通过对象来调用其成员方法。通过使用运算符“.”实现对成员变量的访问和成员方法的调用。
销毁对象的操作由Java提供的垃圾回收机制自动完成。不需要手工完成销毁对象操作。或者调用对象的finalize()方法。
3-1 JSP页面由哪些元素组成?
<%@ page language="java" contentType="text/html; charset=gb2312”%>
<%@ page import="java.util.Date" %>
<% String today=new Date().toLocaleString(); %>
今天是:<%=today%>
<%@ page contentType="text/html;charset=gbk" %>
include 指令用于在当前的JSP 页面中使用该指令的位置嵌入其他的文件,如果被包含的文件中有可执行的代码,则显示代码执行后的结果。
<%@ include file="文件的绝对路径或相对路径" %>
通过使用taglib 指令,开发者就可以在页面中使用标准标签或自定义标签来完成特殊的功能。
<%@ taglib {uri="URI" | tagdir="/WEB-INF/tags[/subdir]+"} prefix="tagPrefix" %> <%@taglib prefix="mytagf" tagdir="/WEB-INF/tags"%>
3-6 有几种方法可实现在页面中来包含文件?如何实现?它们有什么区别?
include 动作标识与include 指令之间的差异。
差异1:属性不同
include 指令——通过file 属性指定被包含的页面,将file 值看作一个实际存在的文件的路径,不支持任何表达式。
include 动作——通过page 属性指定被包含的页面,该属性支持JSP 表达式。
JSP 语法总结
JSP 构成 注释 指令 动作 脚本 HTML 注释:
隐藏注释: <%-- --%>
page : <%@page import=......%> include : <%@include file=......%> include :
forward :
声明:<%! ......%>
表达式:<%= ......%>
脚本程序:<% ......%>
taglib : <%@taglib uri=......%> Html
带有JSP 表达式的注释:
脚本程序中的注释: //、/* */、/** */
useBean :
setProperty :
getProperty :
plugin :
fallback :
差异2.处理方式不同
include指令——被包含的文件的内容原封不动地插入到主页面中,JSP编译器对这个合成的文件进行翻译。在一个JSP页面包含另外一个JSP页面,最终编译后的class文件只有一个。
include动作——主页面将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回主页面继续执行后面的代码。JSP编译器会分别对这两个文件进行编译。
差异3.包含方式不同
include指令——静态包含。被包含的文件发生改变,整个主页面文件就会重新被编译,最终服务器执行的是将两个文件合成后由JSP编译器编译成的一个class文件。
include动作——动态包含。服务器执行的是两个文件,被包含文件的改动后不会对主页面文件重新编译,而只需重新编译被包含的文件。当include动作标识被执行时,使用该识包含的目标文件才会被编译,否则被包含的文件不会被编译。
差异4.对被包含文件的约定不同
使用include指令包含文件时,对被包含文件有约定。主文件和包含文件的page 指令不应重复。
●4-5 如果用户长时间不操作session对象,用户的session对象会消失吗?
为了弥补HTTP协议的“无状态”的这一缺点,JSP提供了一个session对象,这样服务器和客户端之间的连接就会一直保持下去,在一定时间内(系统默认在30分钟内),如果客户端不向服务器发出应答请求,session对象就会自动消失。在编写程序时,可以修改这个时间限定值,使session对象在特定时间内保存信息。
●4-6 用户关闭浏览器后,用户的session会立即消失吗?
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
可以利用此特性来保存每个用户信息,当一个客户登录一个网站时,系统将为用户生成一个独一无二的会话对象,用以记录该用户的个人信息,一旦该用户退出网站,该会话对象将会被注销。
●4-8 session对象与application对象的区别有哪些?
session对象和用户会话相关,不同用户的session是完全不同的对象;
application对象都是相同的一个对象,即共享这个内置的application对象。