此部分包括: JSP, EL, JSTL, My Tag, I18N, FileUpDown
1.jsp有哪些内置对象?作用分别是什么?
答:JSP共有以下9个内置的对象:
request: 用户端请求,此请求会包含来自GET/POST请求的参数
response: 网页传回用户端的回应
pageContext: 网页的属性是在这里管理
session: 与请求有关的会话期
application: 与当前应用对应的ServletContext对象, 应用中只有一个
out: 用来传送回应的输出 {}<%=%>
config: 与jsp配置对象的对象, 一般无用
page: jsp对应的Servlet对象
exception: 针对错误网页,未捕捉的异常对象
2. jsp有哪些动作?作用分别是什么?
答:JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:forward:把请求转到一个新的页面。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
3. JSP的常用指令
答:主要有下面3种指令
page指令: 指定页面的的一些属性, 常用属性:
contentType=”text/html; charset=utf-8″ //向浏览器端输出数据的编码
pageEncoding=”utf-8″ //jsp文件被编译成java文件时所用的编码
session=”true” //是否自动创建session
include指令: 包含别一个jsp页面taglib指令: 引入一个标签库
4. JSP中动态INCLUDE与静态INCLUDE的区别?
答:
动态包含: 用<jsp:include>, 包含的动作是在jsp对应的Serlet处理请求时去执行的,每次请求都会执行.静态包含: 用include指令, 包含的动作是在jsp被编译成java文件时执行的, 只有第一次请求时执行.
5. JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
答:
JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。
Servlet是纯Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。
6. EL的功能, 为什么要用EL?
EL的功能包括:
从四个域对象中取出属性数据显示取出请求参数数据显示
为什么要用EL?
在页面中用jsp脚本和jsp表达式来获取数据显示比较麻烦
需要条件判断可能需要强转
7. JSTL的功能, 为什么要用JSTL?
JSTL的功能
JSTL全名为JavaServer Pages Standard Tag Library, 主要用于基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等
为什么要用JSTL?
在jsp页面做条件判断或循环操作并输出时, 比较费力
8. 为什么要用自定义标签?, MyTag如何实现?
为什么要用?
不想在Jsp中编写java代码JSTL标签库不能满足实际项目的需求
自定义标签定义和使用的流程
1.编写标签处理器类(SimpleTagSupport的实现类)
重写doTag()
2.编写标签库文件(WEB-INF/xxx.tld)
整个文件的定义: <short-name> <uri>标签的定义: <tag>
3.在jsp页面使用标签:
导入标签库(xxx.tld/)使用标签