WebSphere迅速基础(15)
发表时间:2023-08-20 来源:明辉站整理相关软件相关文章人气:
[摘要]5.4 JSP API有两种接口支持 JSP 技术。这些 API 提供了一种将内容生成(业务逻辑)从内容演示(HTML 格式)中分离出来的方法。这种分离使 Servlet 能生成内容并将它(如在 B...
5.4 JSP API
有两种接口支持 JSP 技术。这些 API 提供了一种将内容生成(业务逻辑)从内容演示(HTML 格式)中分离出来的方法。这种分离使 Servlet 能生成内容并将它(如在 Bean 中)存储在请求的上下文中。生成上下文的 Servlet 通过将请求的上下文传递至 JSP 文件来生成一个响应,该 JSP 文件包含 HTML 格式。<BEAN> 标记便提供了对业务逻辑的访问。支持 JSP 的接口有:
= com.sun.server.http.HttpServiceRequest:该类实现了 javax.servlet.http.HttpServletRequest 接口和用于设置根据名称定义的属性的方法 setAttribute() 。
= com.sun.server.http.HttpServiceResponse:该类实现了 javax.servlet.http.HttpServletResponse 接口,并添加了一个使 Servlet 能调用 JSP 文件和可选地传递上下文的 callPage() 方法。
1.callPage() 方法
用 callPage() 方法在 Servlet 中对 JSP 进行服务。所服务的页面(一个 JSP 文件)作为响应返回到浏览器中。调用 Servlet 还可以通过请求对象传递某些上下文。应该对所服务的页面标题进行编码,以将用于告诉浏览器不要对文件执行高速缓存的指令包含在内。callPage() 方法的语法如下:
public void callPage(String fileName, HttpServletRequest req) throws ServletException, IOException
其中:
= fileName:用于标识文件(该文件用于生成输出并表示内容)的 URL 名。如果文件名以斜杠(/)开头,则可以假设文件位置与文档根目录有关。如果文件名不是以斜杠开头,则可假设文件位置与当前调用的请求有关。callPage() 方法不支持调用文件扩展名为 .html 的页面。如果需要使用 callPage() 方法来调用 HTML 页面,则必须首先将 HTML 文件重命名成扩展名为 .jsp 的文件。
= Req:调用该方法的是 Servlet 的 HttpServletRequest 对象。最通常的是,将上下文作为 Bean,在请求对象的上下文中进行传递。
要使用 callPage() 方法,必须将响应对象造型成com.sun.server.http.HttpServiceResponse类型。
2.使用 setAttribute() 方法
用 setAttribute() 方法来将一个特性存储在请求的上下文中。语法是:public void setAttribute(String key, Object o),其中,key代表存储的特性名,而o表示用 key 来存储的上下文对象。要使用 setAttribute() 方法,必须将请求对象造型成com.sun.server.http.HttpServiceRequest类型。