JSP
:
JSP 是简化 Servlet 编写的一种技术
,它将 Java 代码和 HTML 语句混合在同一个文件中编写
,只对网页中的要动态产生的内容采用 Java 代码
来编写
,而对固定不变的静态内容采用普通静态 HTML 页面的方式编写。
JSP 隐含对象
request
response
pageContext:页面的上下文
,是 PageContext 的一个对象。
session:代表浏览器和服务器的一次会话
,是 HttpSession 的一个对象。
application:代表当前 WEB 应用。是 ServletContext 对象。
config:当前 JSP 对应的 Servlet 的 ServletConfig对象
(几乎不适用
)。若需要访问当前 JSP 配置的初始化参数
,需要通过映射的地址才可以。
out:
page:
exception
JSP 基本语法
1.JSP 模板元素
1.JSP 页面中的静态 HTML 内容称之为 JSP 模板元素
,在静态的 HTML 内容之中可以嵌套 JSP 的其他各种元素来来产生动态内容和执行业务逻辑。
2.JSP 模板元素定义了网页的基本骨架
,即定义了网页的结构和外观。
2.JSP 表达式
1.
3.JSP 脚本片段
JSP 脚本片段是指嵌套在
<% 和
%> 之中的一条或多条 Java 程序代码。
4.EL表达式
5.JSP注释
6.特殊字符序列的转义处理
7如何查找 JSP 页面中的错误
和属性相关的方法:
方法:
1.Object
getAttribute(String name
) : 获取指定的属性
2.Enumeration
getAttributeNames() : 获取所有的水性的名字组成的 Enumeration 对象
3.removeAttribute(String name
) : 移除指定的属性
4.void setAttribute(String name
, Object o
) : 设置属性
请求重定向和请求转发
RequestDispatcher 接口
1.RequestDispatcher 实例对象是由 Servlet 引擎创建的
,它用于包装一个要被其他
调用的资源
,并可以通过其中的方法将客户端的请求转发给所包装的资源。
2.定义了两个方法: forward 方法和 include 方法
3.forward 和 include 方法接收的两个参数必须是传递给当前 Servlet 的 service 方法的那两个
ServletRequest 和 ServletResponse 对象
,或者是对它们进行了包装的 ServletRequestWrapper 或
ServletResponseWrapper 对象。
4.获取 RequestDispatcher 对象的方法:
ServletContext
.getRequestDispatcher
(参数只能是以
"/" 开头的路径
)
ServletContext
.getNamedDispatcher
ServletRequest
.getRequestDispatcher
(参数可以是不以
"/"开头的路径
)
用 forward 方法实现请求转发
请求转发的运行流程
用 sendRedirect 方法实现请求重定向
请求重定向的运行流程
请求重定向与请求转发的比较
请求的转发和重定向:
1.本质区别:请求的转发只发出一次请求
,而重定向则发出两次请求。
2.请求的转发:地址栏是初次发出请求的地址。
请求的重定向:地址栏不再是初次发出的氢气地址。地址栏为最后响应的那个地址。
3.请求转发:在最终的 Servlet 中,request 对象和中转的那个 request 是同一个对象。
请求的重定向:在最终的 Servlet 中,request 对象和中转的那个 request 不是同一个对象。
4.请求的转发:只能转发给当前 WEB 应用的资源。
请求的重定向:可以重定向到任何资源。
5.请求的转发:
/ 代表的是当前 WEB 应用的根目录。
请求的重定向:
/ 代表的是当前 WEB 站点的根目录。
pageContext
,request
,session
,application 这四个对象称之为域对象。
pageContext : 属性的作用范围仅限于当前 JSP 页面。
request :属性的作用范围仅限于同一个请求。
(在有转发的情况下可以跨页面获取属性值
)
session :属性的作用范围限于一次会话:浏览器打开直到关闭称之为一次会话
(在此期间会话不失效
)
application :属性的作用范围限于当前 WEB 应用
.是范围最大的属性作用范围
,只要在一处设置属性
,在其他各处的 JSP 或 Servlet 中都可以获取到。
JSP 指令
include 指令
JSP 标签