JSP基本原理:
JSP本质是Servlet(一个特殊的Java类),当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面。JSP通过在标准的HTML页面中嵌入Java代码,其静态部分无需Java程序控制,只有那些需要从数据库读取或动态生成的页面内容,才使用Java脚本控制。
Tomcat(服务器容器)会根据JSP页面生成对应Servlet的Java文件和class文件。Tomcat对一个JSP只会生成一个Servlet实例。
所以可以得出如下结论:
- JSP文件必须在JSP服务器内运行。
- JSP文件必须生成Servlet才能运行。
- 每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
- JSP页面的访问者无须安装任何客户端,JSP页面输送到客户端的是标准的HTML页面。
JSP注释:
格式:<%-- 注释内容 --%>
作用:用户标注在程序开发过程中的开发提示,不会被输出到客户端,即在客户端获取页面源代码不会被看到。
JSP声明:
格式:<%! 声明部分 %>
作用:用于声明变量和方法,在JSP被编译为Servlet实例后,变量和方法就作为实例的成员变量和成员方法。
提示:声明部分可以使用private、public等访问控制修饰符,也可以使用static修饰,但不能用abstrat修饰声明方法,因为抽象方法将倒置JSP对应的Servlet变成抽象类,从而导致无法实例化。
输出JSP表达式:
格式:<%=表达式%>
作用:输出表达式的值。
注:输出表达式语法后不能有分号。
JSP脚本:
格式:<% 脚本部分 %>
作用:包含任何可执行的Java代码。
提示:JSP脚本将转换成Servlet里_jspService方法的可执行代码,意味着在JSP脚本部分也可以声明变量,但不可以声明方法。在JSP脚本部分声明的变量是局部变量,不能使用private、public等访问控制符修饰,也不能使用static修饰。