JSP的3指令、6动作、9对象、四大作用域

JSP 和 Servlet一样,也是 web 动态开发技术,可以写HTML和Java代码,比较适合编写动态网页内容,包含了3个指令、6个动作、9个内置对象、四大作用域

一、认识 JSP

1. 什么是JSP?

写 JSP 就像写 HTML 一样,不同的是,JSP 页面中还可以包含 Java 代码提供动态的数据,相当于 JSP =HTML + Java

2. 运行过程比较

HTML/JS/Python:翻译/解释
Java/C/C++运行过程:编译 —> 运行
JSP运行过程:翻译 —> 编译 —> 运行

3. JSP 的基本语法

小脚本<% Java代码 %>
表达式<%= 表达式 %>,运算之后输出
声明<%! 定义变量,静态代码块 %>,注意,<% 这里定义的都是局部变量 %>,而<%! 这里定义的都是全局变量 %>
注释
可以写JSP和HTML注解,那么用哪种更好呢?

JSP注释:<%— 这个是JSP注释 -%> (保证代码安全,省流量)
HTML注释:<!-- 这个是 HTML注释-- > (代码不安全,费流量)

二、JSP的3个指令

JSP的指令只是告诉JSP引擎如何处理 JSP 页面的其他内容不会直接产生任何输出效果

语法:<%@ 指令名称 属性1=“值1” 属性2=“值2” %>

1. page指令:主要用于定义页面各种属性

import和 Java 中的 import 一样
例如导包:<%@ page imprt=“java.util.Random” %>

session:是否自动创建 Session,默认为true

buffer:设置 javax.servlet.jsp.JspWriter 字符流的缓存大小,默认为 8kb

errorPage:如果 jsp有错误跳转到指定页面

pageEncoding:告诉 jsp 引擎把这个文件翻译成 Java 文件使用的编码

2. include指令

静态包含:把其他页面的内容包含到此页面
语法:<%@ include page=“uri” %>

动态包含
语法:<jsp:include page=“uri”> </jsp:inclue>

动态包含和静态包含有什么区别?

动态包含在翻译 jsp 的时候,不会合并包含的 jsp 文件,当执行到 include 的时候,才会包含其他 jsp 文件
而静态包含在翻译 jsp 的时候,会合并 jsp文件
建议尽量使用静态包含

3. taglib指令:标签库的意思

作用就是导入 JSTL 标签库,可以替换 jsp 中的Java代码
语法:
<%@ taglib uri=“标签库的地址” prefix=“xxxx” %>

三、JSP的6个动作

  1. < jsp:include >:动态包含
  2. <jsp:forward >:请求转发
  3. <jsp:param >:设置请求参数
  4. <jsp:userBean >:创建一个对象
  5. <jsp:setProperty >:给指定的对象属性赋值
  6. <jsp:getPropety >:取出指定的对象的指定属性值

三、JSP的9个内置对象

内置对象,指的就是可以在 <%= %> 里面直接使用的对象

  1. request请求【Javax.servlet.http.HttpServletRequest】

  2. response响应【javax.servlet.http.HttpServletReponse】

  3. session会话对象【javax.servlet.http.HttpSession】(注意:要session=“ture” 才有 session 对象)

  4. application上下文对象【javax.servlet.ServletContext】

  5. exception异常对象【java.lang.Throwable】(注意:要 isErrorPage=“fales” 才会有 exception对象)

  6. page页面对象【Java.lang.Object,代表页面的 this】(就是当前 Servlet 实例)

  7. config配置信息对象【javax.servlet.ServletConfig】

  8. out输出对象【javax.servlet.jsp.JspWriter 】(字符输出流对象,相当于 PrintWriter对象,由response.getWriter() 方法得到 )

  9. pageContext页面上下文对象【Javax.servlet.jsp.PageContext】(本身就是域对象,可以操作其他三个域对象(request、session、application))

四、四大作用域

  1. pageContext: 存放的数据只对当前页面有效,用得少
  2. Request存放的数据只在一个请求有效,用得比较多
  3. session存放的数据在一个会话有效,用得比较多
  4. application :存放的数据在整个应用范围有效,因范围太大,慎用
发布了8 篇原创文章 · 获赞 8 · 访问量 1425

猜你喜欢

转载自blog.csdn.net/tanghaixu/article/details/105629629