WebSphere快速入门(13)
第五章 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>
↓相关文章:
- · WebSphere快速入门(14)
- · 第一部分:EJB 体系结构的历史和目标 (二)(转)
- · 第三部分:布署和使用 Enterprise JavaBeans 组件(二)(转)
- · weblogic6.0使用心得
- · win2000server下安装tomcat后,再安装apache有什么好处?
- · jboss有关配置的教程
- · 我把resin和iis结合起来以后,asp程序就不能用了,把源码都显示出来了?怎么解决
- · TOMCAT+IIS配置方法
- · j2ee技术简单介绍
- · WebSphere快速入门(16)
- · WebSphere快速入门(18)
- · Weblogic6.0上Connection Pool、DataSource的创建与使用
- · 经过几天的折腾,终于在win2000下把mysql和jsp配置好了,下面是我总结的一些经验!
- · Tomcat中文手册(2)_转
- · Sorry,我刚找到的:配置J2EE支持Mysql (转)
- · 分布式对话服务器的管理(1)
- · 分布式对话服务器的管理(3)
- · 分布式对话服务器的管理(5)
- · J2EE配置指南(1)
- · J2EE配置指南(2)
- · XML和J2EE的组合技术 (转)
- · Weblogic6.0部署和配置WEB应用程序(5)
- · 简析J2EE应用程序数据库类设计模式
- · 转贴:利用EJB创建CRM系统
- · 说明
- · 创建部署的xml文件和bat文件
- · 建立ejb各个接口和bean的大致框架的文件
- · to: jeru, 我对nucleus不清楚, 在此谈谈对ejb的感受
- · EJB核心技术及其应用(再续)
- · Weblogic6.0安装及配置(1)
- · Weblogic6.0 SP1的安装及配置
- · TOMCAT全攻略
- · J2EE建议的学习路线(一篇不错的谈个人学习方法的文章)
- · EJB的事务处理属性
- · JBUILDER6.0配置WEBLOGIC6.1全攻略
- · tomcat应用程序的手工装载和3种自动装载
- · WebLogic6.0中Ejb的使用
- · Weblogic6.0上Connection Pool、DataSource的创建与使用
- · Running The Tomcat 4.0(英文,关键部分译成了中文。)
- · Weblogic6.0部署和配置WEB应用程序(1)
- · Weblogic6.0部署和配置WEB应用程序(3)
- · Tomcat自动reload新的class的插件
- · 在Java中使用DES算法
- · WebLogic Server 性能调优
- · WebLogic Domain的定义,翻译出来大家交流,第一次作赏个脸:]

