Servlet的缺陷:Servlet的编码、部署和调试任务繁琐、生成动态网页繁琐,不利于项目分工
使用JSP技术编写动态页面:——有HTML语句嵌套在其中的Java代码组成一个普通文本文件
——JSP页面的扩展名必须是.jsp
在Web应用程序自动部署JSP
JSP运行机制:
第一阶段:Web容器第一次接收到某JSP页面请求后,首先自动将该JSP页面编译成Servlet代码
第二阶段:JSP页面编译
第三阶段:JSP页面类装载
第四阶段:JSP页面实例化
第五阶段:JSP页面初始化
第六阶段:JSP页面服务
第七阶段:JSP页面销毁
注意:如果一个Web应用程序中含有JSP页面,部署这个应用时,在JSP生命周期中,整个翻译和编译步骤只发生一次,之后的请求将执行编译后的代码。(第一次编译所消耗的时间别之后的时间长)
JSP语法和语义:JSP网页有元素(Element)和模板数据(Template Data)(JSP的静态部分)组成,元素则是必须经由Web容器解释,元素都是以XML做为语法基础,并且大小写要一致
Web容器支持的JSP语法:普通格式和XML格式(普通格式JSP语法是设计给开发者用的,XML兼容JSP语法是设计用来容易被开发工具使用的)
脚本元素:
| 脚本元素 | 脚本语法 |
| 声明 | <%! 声明 %> |
| Scriplet | <% 代码 %> |
| 脚本表达式 | <%= 脚本表达式 %> |
注释:JSP注释 <%-- 注释内容-- %>(注释内容不会在客户端运行,在客户端的HTML源文件也不能看到)
HTML注释 <!-- 注释内容 --> (可在客户端的源文件中看到注释内容)
Java注释
JSP指令:提供整个JSP页面的相关信息,用于JSP页面与容器之间的通信
JSP三中类型的指令:page——为当前页面提供处理指令
include——把另一个文件叫包含在JSP中
taglib——指定包含和访问自定义标签库
Page指令属性:(除import属性以外,其余属性只能在一个页面中是指一个特定的属性一次)
language:指定JSP引擎要使用编译网页的语言
info:此网页的相关信息,例如:作者、版本、版权形象等
import:在JSP中银土Java的包和类
contentType:在JSP页面返回http头中指定的MIME类型和字符集
buffer:设置缓冲区大小
autoFlush:当缓冲区满时,输出流缓冲区自动刷新跑出一个异常
session:指定当前页面是否需要参与HTTP会话
idThreadSafe:设置JSP页面是否线程安全
errorPage:当前页面如果发生异常,网页重定向到errorPage指定的页面
isErrorPage:设置相应的页面处理代码执行中出现的错误
include指令:在JSP编译时插入一个包含文本或代码的文件,把文件中的文本静态地包含过去
taglib指令:让用户给予xml语法自己定义标签,实现JSP语法的延伸
JSP标准动作:
<jsp:include>动作:每个文件单独进行编译(动态的包含)
<jsp:forward>动作:将请求从一个JSP页面转发到另一个JSP页面
JSP隐式对象:request、response、pageContext、session、application、out、config、page、exception
3万+

被折叠的 条评论
为什么被折叠?



