一个jsp页面可由5种元素组成
- html标记
- 变量和方法的声明
- java程序片
- java表达式
<%!变量和方法的声明%>
- 被声明的方法和变量在整个jsp页面都可以访问,为全局变量
- 当多个用户同时访问页面时,jsp引擎会分配线程给多个用户,因此当某个用户修个其中的方法或变量时会影响其他用户
- 在方法里面声明的变量只在方法里有效
java程序片
- 会被jsp引擎按顺序执行
- 声明的变量与其位置有关,当前的变量和方法可被后面的程序片执行
- 当用户修改其变量时也会影响其他用户
- 可用synchronized关键字修饰可以避免多个用户同时访问的情况
表达式<%=某个变量%>
注释
- <%--jsp的注释--%>
- <!--html的注释-->
jsp指令标记
- 可以定义如下属性:contemType,import,language,session ,buffer,auotFlush,isThreadSafe,pageEncoding
- 指令
- page:属性值可用单引号或双引号括起来,如果有几个值可以用逗号分开,如:<@ page impor = "java.util.*","java.io.*"
- language默认值是java
include指令标记
- 语法标记:<@ include file = "文件的UTL">,如<%@ include file = "hello.jsp"%>
- 文件是jsp页面时,页面的contentType要统一
- 可以实现代码复用的用途
jsp动作标记
- include标记<jsp:include page = "文件的UTL"> param标记 </jsp:include>
- forward标记:<jsp:forward page = "要转向的页面"> param标记 </jsp:forward>