jsp基础
一、概述
JSP 全称是 Java Server Pages,它和 Servlet 技术一样,都是 SUN 公司定义的一种用于开发动态 web 资源的技术,JSP/Servlet 规范。
JSP 这门技术的最大的特点在于,写 JSP 就像在写 html,但它相比 html 而言,html 只能为用户提供静态数据,而 JSP 技术允许在页面中嵌套 java 代码,为用户提供动态数据。
二.原理
当第一次访问 JSP 页面时,会首先把 JSP 转换为 Servlet 的 Java 文件,然后再编译为 class 文件,响应速度比较慢;如果不是第一次访问,则会直接访问 class文件,响应速度比较快。
三、JSP 的脚本
1.小脚本
<% java 代码 %>
2.表达式
<%= 2+3 %> 等价于 out.print(2+3);
3.声明
<%! %> 表示在类中定义全局成员,和静态块。
4. JSP 注释
<%-- 被注释的内容 --%>
特点:安全,省流量
四、JSP 的 3 个指令
JSP 指令(directive)是为 JSP 引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理 JSP 页面中的其余部分。
在 JSP 2.0 规范中共定义了三个指令:page、include、taglib
语法:<%@ 指令名称 属性 1=“属性值 1” 属性 2=“属性值 2”…… %>
五、JSP 的 6 个常用动作
- <jsp:include > 动态包含
- jsp:forward 请求转发
- jsp:param 设置请求参数
- jsp:useBean 创建一个对象
- jsp:setProperty 给指定的对象属性赋值
- jsp:getProperty 取出指定对象的属性值
六、JSP 的 9 大内置对象
内置对象是指在 JSP 的<%=%> 和<% %>中可以直接使用,而不需要创建(new操作)的对象。
1)request javax.servlet.http.HttpServletRequest 请求对象
2)response javax.servlet.http.HttpServletResponse 响应对象
3)session javax.servlet.http.HttpSession 会话,由 session="true"开关
4)application javax.servlet.ServletContext 全局对象
5)exception java.lang.Throwable 异常,由 isErrorPage="false"开关
6)page java.lang.Object 当前 servlet 实例
7)config javax.servlet.ServletConfig 配置对象
8)out javax.servlet.jsp.JspWriter 字符输出流象
9)pageContext javax.servlet.jsp.PageContext 当前页上下文
一个域对象:它可以操作其它三个域对象(request session application)
的数据。