简介
JSP,Java Server Page,Java服务器页面。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。
特性
◆解耦
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,JSP是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
◆跨平台性:
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP与Servlet一样,是在服务器端执行的。
◆面向对象:
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
语法
HTML语法的java扩展,加入了新的标签。
JSP原始代码中包含了JSP元素和Template data两类
1)Template data
标记<%...%>之外的部分,他们是jsp引擎不处理的部分。比如HTML中显示的内容,他们会直接传送到客户端的浏览器。
2)JSP元素
标记<%...%>中的部分,由JSP引擎直接处理的部分。
注意:这部分必须符合JSP语法,否则编译会出错。
例如:
执行过程:
当服务器上的一个JSP页面第一次被请求时,JSP引擎首先将JSP页面编译成Servlet(稍后会解释),然后执行该Servlet。该Servlet主要完成以下2项任务:
(1)页面中的HTML标记——》客户端的浏览器——》解释执行。
(2)JSP指令标记、动作标记、JSP声明、代码段和表达式 ——》服务器 ——》执行,然后将结果送给浏览器。
下图也可表明他们之间的转换关系。
1)将JSP转换为Servlet
2)JSPServlet编译为class文件
3)执行JSP
示例:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<HTML>
<BODY>
<%
for(int i=0;i<2;i++)
{
%>
Hello!<br>
<%
}
%>
</BODY>
</HTML>
HTML文件:
<HTML>
<BODY>
你好<br>
你好<br>
</BODY>
</HTML>
最终在浏览器中显示你好字样。