当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > JAVA > WEBSERVICE > 正文

WebSphere快速入门(15)

http://www.zk168.com.cn  招考学习网 2006-4-11 2:44:12
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
WebSphere快速入门(15)

· 第五章 JSP技术

· 5.1 JSP简介

JSP ( JavaServer Pages )是一种基于 Java 的脚本技术。在 JSP 的众多优点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出来。用 JSP 访问可重用的组件,如 Servlet 、 JavaBean 和基于 Java 的 Web 应用程序。 JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。

· 1. JSP 文件访问 Bean 或其它能将生成的动态内容发送到浏览器的组件。图 5-1 说明了该 JSP 访问模型。当 Web 服务器接收到一个 JSP 文件请求时,服务器将请求发送至 WebSphere 应用服务器。 WebSphere 应用服务器 对 JSP 文件进行语法分析并生成 Java 源文件(被编译和执行为 Servlet )。 Java 源文件的生成和编译仅在初次调用 Servlet 时发生,除非已经更新了原始的 JSP 文件。在这种情况下, WebSphere 应用服务器 将检测所做的更新,并在执行它之前重新生成和编译 Servlet 。


图 5-1:浏览器发送 JSP 文件请求

· 2. 发送至 Servlet 的请求生成动态内容,并调用 JSP 文件将内容发送到浏览器。图 5-2 说明了该访问模型。该访问模型使得将内容生成从内容显示中分离出来更为方便。 WebSphere 应用服务器 支持 HttpServiceRequest 对象和 HttpServiceResponse 对象的一套新方法。这些方法允许调用的 Servlet 将一个对象放入(通常是一个 Bean )请求对象中,并将该请求传递到另一个页面(通常是一个 JSP 文件)以供显示。调用的页面从请求对象中检索 Bean, 并用 JSP 来生成客户机端的 HTML 。


图 5-2:发送至 Servlet 的请求

· 5.2 JSP示例

浏览器通过一个 Web 页面中的 HTML 表单请求一个 servlet ( PopulateBeanServlet ),该 servlet 创建一个名为 dataBean 的 DataBean 实例,并调用 JSP 文件将内容发送到浏览器。 Servlet 示例和 JSP 文件示例说明了启用内容分离的 JSP 访问模型。

A. Servlet 是由下列 Web 页面中的 HTML 表单来调用的。

<HTML>
<BODY>

<H1> 运行 PopulateBeanServlet</H1>
<P> 您是否希望运行 PopulateBeanServlet?
<FORM action="/servlet/PopulateBeanServlet" method="GET">
<INPUT type="SUBMIT" value="Yes">
<INPUT type="SUBMIT" value="No">
</FORM>
</BODY>
</HTML>

B. 被请求的 servlet 为 PopulateBeanServlet , 其源代码如下:

/******************************************************************

*Servlet 示例: PopulateBeanServlet.java

* 这个 servlet 创建一个名为 dataBean 的 DataBean 实例,设置 dataBean 的若干个属性,

* 将 dataBean 放置在当前“请求”对象中,

* 调用 JSP 文件( DisplayData.jsp )来格式化并显示 dataBean 的数据

********************************************************************/

import java.io.*;
import java.beans.Beans;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.ejb.CreateException;
public class PopulateBeanServlet extends HttpServlet {
public void Service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
dataBean = (DataBean) Beans.instantiate(this.getClass().getClassLoader(), "DataBean");

}
catch (Exception ex) {
throw new ServletException("Can't create BEAN of class DataBean: "
metaData.setSQL(getSQLString());
}

// Set some Bean properties (content generation)

dataBean.setProp1("Value1");

dataBean.setProp2("Value2");

dataBean.setProp3("Value3");

// To send the Bean to a JSP file for content formatting and display

// 1) 将 dataBean 放置在当前“请求”对象中,

((com.sun.server.http.HttpServiceRequest) req).setAttribute("dataBean", dataBean);

// 2) 使用 callPage 方法调用 JSP 文件,文件名为 DisplayData.jsp ,并把请求对象传递给 JSP 。

((com.sun.server.http.HttpServiceResponse) res).callPage("/DisplayData.jsp", req);

} //end of service mehtod

} /* end of class PopulateBeanServlet */

· C. 被调用的 JSP 文件为 DisplayData.jsp ,其内容如下:

<!-- 该 JSP 文件获得在请求对象中传递的 dataBean ,并显示该 Bean 的属性。 -->

<html>

<head>

<title>Bean Data Display</title>

</head>

<!-- Get the Bean using the BEAN tag -->

<bean name="dataBean" type="DataBean" introspect="no" create="no" scope="request">

</bean>

<body>

<!-- There are three ways to access Bean properties -->

<!-- Using a JSP scriptlet -->

<% out.println("The value of Bean property 1 is " + dataBeans.getProp1());

%>

<!-- Using a JSP expression -->

<p>The value of Bean property 2 is

<%= dataBean.getProp2() %> </p>

<!--Using the INSERT tag -->

<p>The value of Bean property 3 is

<insert bean=dataBean property=prop3 default="No property value" >

</insert></p>

</body>

</html>

(未完待续)

-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·BOG压缩机在液化石油气基地的应用
·LFCB-102型微波分相差动保护的应用
·基于PB6和ORACLE8开发“劳动信息管理系统”
·利用TDC组件实现对WEB页面的交互操作
·关于SBS改性沥青配合比设计及施工技术的探讨
·PowerBuilder的分布式计算技术及其应用
·PowerBuilder和MapInfo的集成开发技术
·基于Visual Basic快速开发现场电视监控系统
·PBX濒临被取代的危机—论程控交换机的生存与发展
·ASP技术访问WEB数据库 2
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>