JSP 就是把Java 代码嵌套在HTML 中,所以JSP 程序的结构可以分为两大部分:一部分是静态的HTML 代码;另一部分是动态的Java 代码和JSP 自身的标签和指令;当JSP 页面第一次被请求的时候,服务器的JSP 编译器会把JSP 页面编译成对应的Java 代码,根据动态Java 代码执行的结果,生成对应的纯HTML 的字符串返回给浏览器,这样就可以把动态程序的结果展示给用户。
JSP语法
脚本程序
脚本程序可以包含任意量的java语句,变量,方法或表达式.
脚本语言的语法格式为:
<% 代码片段 %>
####中文编码问题
如果我们要在jsp中正常显示中文,要在文件头部添加一下代码:
- 1
- 2
- 1
- 2
JSP声明
一个声明语句可以声明一个或多个变量或者方法,供后面的java代码使用
jsp声明的语法格式为:
<%! declaration; [ declaration; ]+ … %>
例子:
- 1
- 2
- 3
- 1
- 2
- 3
JSP表达式
一个jsp表达式中包含的脚本语言表达式,先被转换为String,然后插入到表达式出现的地方,由于表达式的值会被转换为String,所以可以在任意的文本行中使用表达式而不用管它是否是HTML标签.
表达式式元素中可以包含任何符合java语言规范的表达式,但是不能使用分号来结束表达式.
jsp表达式的语法格式:
<%= 表达式 %>
例子:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
JSP注释
注释的语法规则:
-
< %– 注释 –%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
-
<!– 注释 –> HTML注释,通过浏览器查看网页源代码时可以看见注释内容
JSP指令
-
<%@ page … %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
-
<%@ include … %> 包含其它文件
-
<%@ taglib … %> 引入便签库的定义
JSP行为
-
jsp:include 在当前页面中包含静态或动态资源
-
jsp:useBean 寻找和初始化一个javabean组件
-
jsp:setProperty 设置javabean组件的值
-
jsp:getProperty 将javabean组件的值插入到output中
-
jsp:forward 从一个jsp文件向另一个文件传递包含用户请求的request对象
JSP隐含对象
- request HttpServletRequest类的实例
- response HttpServletResponse类的实例
- out PrintWriter类的实例,用于把结果输出至网页上
- session HttpSession类的实例
- application ServletContext类的实例,与应用上下文有关
- config ServletConfig类的实例
- page 类似于Java类中的this关键字
- pagecontext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
- Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象
JSP 字面量
-
布尔值(boolean): true 和 false;
-
整型(int): 与 Java 中的一样;
-
浮点型(float): 与 Java 中的一样;
-
字符串(string):以单引号或双引号开始和结束;
-
Null: null