快速业务通道

走上开放之路: .NET开发人员的J2EE基础(下) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
    // Place object in application scope        application.setAttribute("Foo", foo);         // Retrieve from application scope        String applicationFoo = (String) application.getAttribute ("Foo");        // Place object in request scope        request.setAttribute("Foo", foo);        // Retrieve from request scope        String requestFoo = (String) request.getAttribute("Foo");        ... } catch (Throwable t) {   // All errors go to error page   throw new ServletException(t.getMessage()); } } }

JSP 页面和 sevlet 中的会话之间的区别在于,在 sevlet 中,您必须显式地创建和检索 它,而在 JSP 页面中,这是自动为您完成的。注意 pageContext 仅适用于 JSP 页面,而不 适用于 servlet;还要注意 servlet API 如何提供了两个重载方法来同时处理 GET 和 POST HTTP 请求。这个例子提供了一个名为 performTask() 的通用方法来同时处理这两种类型的 请求,不过您可以基于触发 servlet 调用的 HTTP 类型而使用不同的处理。

走上开放之路: .NET开发人员的J2EE基础(下)(10)

时间:2011-04-09 IBM David Carew

编程方式的导航

在代码中从一个资源导航到另一个资源的情况在 Web 应用程序中是相当普遍的。导航与 应用程序状态密切相关,因为当你在一系列资源中导航时,可能需要维护状态信息。例如, 如果从 sevlet 向 JSP 页面转发请求,那么您可能希望附加某些在该 servlet 中完成的处 理结果,以便这些结果能够显示在 JSP 页面中。

有三个 ASP.NET 方法支持编程方式的导航:

HttpResponse.Redirect() 导致向客户端浏览器返回一个特殊的 HTTP 返回代码(连同要 重从定向的页面),然后客户端浏览器又对重定向的目标发出新的请求。如果需要在这两个 请求之间共享数据,那就必须将数据存储在会话状态中。

Server.Transfer() 导致调用此方法的资源终止,同时终止对作为转移目标的资源的调用 。对客户端浏览器来说,这看起来就像是单个请求。

Server.Execute() 导致调用此方法的资源挂起,同时挂起对目标资源的调用。当目标资 源完成时,挂起的资源又继续处理。 对客户端浏览器来说,这看起来就像是单个请求。

J2EE 支持以下形式的编程式导航:

适用 HttpServletResponse.sendRedirect() 方法 :这会导致向客户端浏览器返回一个 特殊的 HTTP 返回代码(连同要重从定向的页面),然后客户端浏览器又对重定向的目标发 出新的请求。如果需要在这两个请求之间共享数据,那就必须将数据存储在会话或应用程序 范围中。

在 servlet 或 JSP 页面的特殊标签中使用 RequestDispatcher.forward() 方法 :这会 导致调用此方法的资源终止,同时终止对作为转发目标的资源的调用。对客户端浏览器来说 ,这看起来就像是单个请求。

在 JSP 页面的特殊标签中使用 RequestDispatcher.include() 方法 :这会导致调用此 方法的资源挂起,同时挂起对目标资源的调用。当目标资源完成时,挂起的资源又继续处理 。 对客户端浏览器来说,这看起来就像是单个请求。

清单 33 包括了这些导航方法在 JSP 页面中的一些例子。

清单 33. JSP 页面中的编程式导航

<!-- This scriptlet shows how you can redirect to another resource - -> <% response.sendRedirect("anotherPage.jsp"); %> <!-- This special JSP tag allows you to forward the request to another resource --> <jsp:forward page="anotherPage.jsp"/> <!-- This special JSP tag allows you

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号