JSP

mac2022-06-30  15

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 标签
最新回复(0)