JSP的概述
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。
JSP:Java Server Pages (Java服务器端页面),其实就在HTML中嵌入Java代码。
SUN公司提供了动态网页开发技术:Servlet。Servlet自身有一些缺点,SUN公司发现了这些问题,推出了一个新的动态网页开发技术JSP。
Servlet的缺点:
JSP需要发布到服务器中才可以运行的。
JSP文件翻译成Java文件,将这个Java文件编译生成class文件,运行class文件。
这个java类继承了tomcat的 org.apache.jasper.runtime.HttpJspBase 类, HttpJspBase 类继承了 HttpServlet 类,所以jsp底层还是Servlet来执行的
public final class demo1_jsp extends org.apache.jasper.runtime.HttpJspBase
什么是JSP的脚本元素
JSP = HTML + Java代码 + JSP自身东西
JSP的脚本元素: 就是在JSP中嵌入Java代码。
声明标签
Hello Jsp
<%! String name = "李茂贞";
public void test(){
System.out.println("jsp test method");
}%>
public final class jspIndex_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
String name = "李茂贞";
public void test(){
System.out.println("jsp test method");
}
...
表达式标签
Hello Jsp
<%! String name = "李茂贞"; %>
<%= name %>
public final class jspIndex_jsp extends org.apache.jasper.runtime.HttpJspBase
...
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
out.print( name );
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
...
程序代码标签
Hello Jsp
<%! String name = "李茂贞"; %>
<%= name %>
<% int age = 25; %>
public final class jspIndex_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
...
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
out.print( name );
out.write("\r\n");
out.write("\r\n");
out.write("\r\n");
int age = 25;
out.write("\r\n");
out.write("\r\n");
out.write("
\r\n"); out.write("