JSP入门
•
建立对
JSP
的直观认识
•
JSP
的运行原理
•
JSP
隐式对象
•
注册与配置
jsp
页面的访问路径
•
JSP
与
Servlet
的应用比较
JSP起源
•
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
•
如果使用
Servlet
程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用
Java
程序代码产生,
整个
Servlet
程序的代码将非常臃肿,编写和
维护
都将非常困难。
•
对大量静态内容的美工设计和相关
HTML
语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行。
网页美工设计和制作人员不懂
Java
编程,更是无法来完成这样的工作。
•
为了
弥补
Servlet
的
缺陷,
SUN
公司
在
Servlet
的基础上
推出了
JSP
(
Java Server Pages
)技术作为解决方案。
•
JSP
是简化
Servlet
编写的一种技术,它将
Java
代码和
HTML
语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用
Java
代码来编写,
而对固定不变的静态内容采用普通静态
HTML
页面的方式编写。
建立对JSP的直观认识
•JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp。
•
在
JSP
页面中编写的
Java
代码需要嵌套在
<%
和
%>
中,嵌套在
<%
和
%>
之间的
Java
代码被称之为
脚本片段
(
Scriptlets
),
没有嵌套在
<%
和
%>
之间的内容被称之为
JSP
的
模版元素
。
•
JSP
中的
Java
代码可以使用
out.println
语句将其他
Java
程序代码产生的结果字符串输出给客户端,也可以使用
System.out.println
语句将它们打印到命令行窗口。
•
JSP
文件就像普通的
HTML
文件一样,它们
可以放置在
WEB
应用程序中的除了
WEB-INF
及其子目录外的其他任何目录中,
JSP页面的访问路径与普通HTML页面的访问路径形式也完全一样。
•
在
JSP
页面中也可以使用一种称之为
JSP
表达式
的元素,只需将要输出的变量或表达式直接封装在
<%=
和
%>
之中,
就可以向客户端输出这个变量或表达式的运算结果。
在
JSP
表达式中嵌套的变量或表达式后面不能有分号。
JSP的运行原理
•
WEB
容器(
Servlet
引擎)接收到以
.
jsp
为扩展名的
URL
的访问请求时,它将把该访问请求交给
JSP
引擎
去处理。
•
每个
JSP
页面在第一次被访问时,
JSP
引擎将它翻译成一个
Servlet
源程序,接着再把这个
Servlet
源程序编译成
Servlet
的
class
类文件,
然后再由
WEB
容器(
Servlet
引擎)
像调用普通
Servlet
程序一样的方式来装载和解释执行这个由
JSP
页面翻译成的
Servlet
程序。
•
JSP
规范也没有明确要求
JSP
中的脚本程序代码必须采用
Java
语言,
JSP
中的脚本程序代码可以采用
Java
语言之外的其他脚本语言来编写,
但是,
JSP
页面最终必须转换成
Java
Servlet
程序。
•
可以在
WEB
应用程序正式发布之前,将其中的所有
JSP
页面预先编译成
Servlet
程序。