Jsp页面元素构成(JSP页面组成部分):
(1)静态内容
(2)指令
(3)表达式
(4)小脚本
(5)声明
(6)注释
====================================================
1、Jsp指令:
(1)page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
(2)include指令:将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。
(3)taglib指令:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。
page指令语法:
<%@ page 属性1 = “属性值” 属性2 = “属性值1,属性值2”...属性n = “属性值n”%>
属性 描述 默认值
language 指定JSP页面使用的脚本语言 java
import 通过该属性来引用脚本语言使用到的类文件 无
contentType 用来指定JSP页面所采用的编码方式(用来指定文件类型和字符编码) text/html,ISO-8859-1
2、 JSP注释:
(1)HTML的注释:
<!--html注释--> //客户端可见
(2)JSP的注释:
<%--html注释--%> //客户端不可见
(3)JSP脚本注释:
//单行注释
/**/ 多行注释
3、
Jsp脚本:
在JSP页面中执行的java代码。
语法:
<% Java代码%>
4、Jsp声明:
在JSP页面中定义变量或者方法。
语法:
<%! Java代码%>
5、JSP表达式:
在JSP页面中执行的表达式。
语法:
<%= 表达式 %> //注意:表达式不以分号结束
<%! String s ="张三";//声明了一个字符串变量 int add(int x,int y){ //声明了一个返回整型的函数,实现两个整数的求和。 return x+y; } %> <% //单行注释 /*多行注释*/ out.println("大家好,欢迎大家学习JAVAEE开发。"); %> <br> 你好,<%=s %><br> x+y=<%= add(10,5) %><br>
6、JSP页面生命周期:
当用户向服务器发送一个请求的时候(例如用户请求访问index.jsp),首先会进行一次判断。
if(第一次请求){
JSP引擎转换JSP文件为Servlet,生成字节码文件,执行JSP的初始化,执行JSP的初始化jsplnit()
}else{
直接访问已经生成的字节码文件
}
解析并且执行,通过处理用户请求的jspService()方法。每一个请求都会创建一个新的线程来处理(基于多线程),多线程的好处在于降低了系统资源的需要,但是也会有一定的缺点(同步问题),由于Servlet是常驻内存的,所以访问速度快。
Tomcat中的 work 文件下保存了已经编译过的字节码文件。(当只有项目被JSP引擎编译过后才会有字节码文件,换句话说,如果存在一个jsp网页,并没有杯任何人访问,那么它就永远不会被编译?)
PS:当一个jsp页面更新后,那么jsp引擎将会重新编译一次jsp文件,生成更新后的字节码文件。
示例:
<%@ page import java.text.* %>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String s = sdf.format(new Date());
%>
今天是<%= s%>