用WebLogic页面流编写Web应用_第1页
用WebLogic页面流编写Web应用_第2页
用WebLogic页面流编写Web应用_第3页
用WebLogic页面流编写Web应用_第4页
用WebLogic页面流编写Web应用_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用weblogic页面流编写web应用入门:web 应用程序“老式”web 应用程序的问题许多 web 应用程序开发者总是面对的一个问题是,如何成功地对一个网站做出改变。这些开发者使用的 web 应用程序技术使他们很难将用户界面与解释用户输入的逻辑分开。他们的 web 应用程序使用 cfm、asp 或 jsp 页,在其中 html 代码、javascript、以及服务器端代码全都嵌入到同一个页面中。由于处理一个 web 页面所需的服务器端逻辑直接存储在该页面中,相似的逻辑常常在各个 web 页面中重复出现,而不是一次性编码到一个中心位置。其结果是,如果您需要改变解释数据的方式,就得在执行有关逻

2、辑的所有 web 页面做出改变。由于“老式”web 应用程序技术缺乏一个简单易行的方法向用户提供可视概观,来了解各个页面如何彼此联系,问题变得更加复杂了。web 开发者或者得靠自己的记忆力来记住一个网站内的流,或者得使用一个映射工具来摄取关于 web 应用程序中页面间关系的快照。而快照只是一个静态反映,一旦对 web 应用程序做出改变,快照就过时了。页面流解决方案weblogic workshop 使用页面流,可以轻而易举地把用户界面与导航和业务逻辑分开。一个页面流由若干 jsp 页组成,后者包含用户界面元素和一个控制器 (jpf) 文件,文件中包含关于如何处理用户提供的数据、随后哪个页面将被

3、返回给用户的指示。页面流提供 web 应用程序的可视概观,使您能看到各个 jsp 页如何相互关联,并使您能快速生成 web 应用程序的总体体系结构。 此教程的内容在此教程中,将学习用 weblogic workshop 生成 web 应用程序的基本概念。您将创建一个让用户输入其姓名并接收问候的页面流。具体说,您将学习如何 (1) 生成一个 jsp 页,在其中用户可以输入内容;(2) 生成一个控制器文件,用它来接收用户数据、对数据进行处理,并把结果传送给另一个 jsp 页;(3) 再生成一个 jsp 页来显示数据。入门:web 应用程序核心概念本主题将阐明页面流设计与开发的基本概念。什么是页面流

4、?页面流应用程序是具有特殊结构的 web 应用程序。包括下列元素:jsp 文件jsp 文件包含页面流应用程序的表示元素。换句话说,即包含在浏览器中显示的用户界面。web 应用程序可以有任意多个所需的 jsp 页,每一个 jsp 页可以包含任何普通 jsp 页所具有的所有元素。一个页面流中的 jsp 页通常包含 html 元素和 netui 标记,这些标记为 weblogic workshop 所提供的自定义标记。控制器文件控制器文件包含 web 应用程序的业务逻辑和导航逻辑。您的 web 应用程序可以只有一个控制器文件,也可以有许多个控制器文件,其中每一个执行该 web 应用程序的某个部分的业

5、务和导航逻辑。控制器文件通常包含数个“操作方法”。当用户把一个请求发送到服务器时(例如,按下 web 页面上的“submit”按钮),一个操作方法就会包含描述如何处理这个用户请求的业务逻辑。这个操作方法也会包含导航逻辑,描述哪一个 jsp 页应当随后返回给用户。在一个叫做“流视图”的专门图形视图中,可以阅读控制器文件。“流视图”能显示 web 应用程序中的导航流。数据绑定用户请求通常包含用户通过填写 jsp 页上的字段而提供的数据。当用户提交填写好的数据,例如其姓名和年龄时,控制器文件对该数据的接收必须正确无误,以分清哪项数据对应于用户姓名,哪项数据对应于其年龄。将用户输进一个字段的输入与一项

6、属性正确相联的过程,叫做数据绑定。另一方面,jsp 页经常需要显示数据。数据并非静态的,而有可能从一个数据库读入、早些时候从一个用户收到,或根据其他动态数据计算而得。同样,必须正确进行数据绑定,以保证 jsp 页上的某个表示元素显示的是正确的数据。有多种方法来完成数据绑定。用户输入通常利用一个表单 bean 来处理,表单 bean 包含一套属性,对应于输入到页面上的字段中的数据。例如,一个表单 bean 可能有一个用于存储姓名的 string name 属性,一个用于存储年龄的 int age 属性,等等。显示数据的方法,仅举两例:可以用一个表单 bean,或者把参数加到一个 url 上。在本

7、教程中,将使要显示的数据成为请求对象的一个特性,该请求对象是可由 jsp 页读取的一个特殊对象。用 weblogic workshop 设计页面流页面流是用 weblogic workshop,一种设计 j2ee 应用程序的可视工具,来开发的。下面的图像显示完成教程后得到的结果。“应用程序”选项卡(区域 1)显示此应用程序的源文件。 “主工作区域”(区域 2)显示您正在生成的页面流组件的几个视图。在上面的图片中,在流视图中显示了一个控制器 (jpf) 文件。此流视图显示这个 web 应用程序的导航流。 在“属性编辑器”(区域 3)您可以看到在主区域打开的页面流组件的属性,并对其进行设置。一个

8、web 项目文件夹保存运行 web 应用程序所需的所有页面流组件。在本教程中,您将开发位于一个名为 gettingstarted_webapp 的 web 项目文件夹(区域 4)中的页面流应用程序。步骤 1:创建 web 应用程序项目在此步骤中将创建要在整个教程中使用的应用程序。在 weblogic workshop 中,一个应用程序包含一个或多个项目,这些项目包含此应用程序的各个组件。在本教程中,将创建一个页面流 web 项目。 此步骤包括下列任务:· 启动 weblogic workshop· 创建应用程序· 启动 weblogic server启动 webl

9、ogic workshop. 在 microsoft windows 上如果您使用的是 windows 操作系统,请按照下面的说明操作。1. 在“开始”菜单中,选择“程序”->“weblogic platform 8.1”->“quickstart”。 2. 在“quickstart”对话框中,单击“体验 weblogic workshop 8.1”。 .在 linux 上如果您使用的是 linux 操作系统,请按照下面的说明操作。1. 打开文件系统浏览器或外壳。 2. 在以下地址查找 "workshop.sh" 文件: 3. $home/bea/weblogi

10、c81/workshop/workshop.sh4. 在命令行中键入下列命令:5. sh workshop.sh 创建应用程序1. 从“文件”菜单中,选择“新建”->“应用程序”。2. 在“新建应用程序”对话框中,选择“全部”,在右上角窗格中,选择“默认应用程序”,在“名称”字段中,输入 gettingstarted_webapp,在“目录”字段中,使用“浏览”按钮选择一个保存源文件的位置。建议选择 bea_homeuser_projectsapplicationsgettingstarted_webapp,在“服务器”字段中,选择 bea_homeweblogic81samp

11、lesdomainsworkshop。3. 单击“创建”。 当您创建新的默认应用程序时,workshop 创建在右边显示的应用程序结构。顶层文件夹 gettingstarted_webapp 是包含整个应用程序的文件夹。此文件夹中有应用程序的所有源文件。 文件夹 gettingstarted_webappweb 是项目文件夹。应用程序中可以包含任意数量的项目文件夹,项目文件夹又分为许多不同的种类,包括 web 项目、web service 项目、schema 项目等。gettingstarted_webappweb 是一个 web 项目,当您在上一个对话框中创建默认应用程序时默认创建。web

12、项目包含以下 web 应用程序公用资源:· “resources”文件夹存储再公用的 jsp 元素,包括 css 文件和 jsp 模板。 · web-inf 文件夹中存储了 jsp 标记库、配置文件、经过编译的类文件及其他运行时资源。 · controller.jpf、error.jsp 和 index.jsp 是默认父页面流的组件。您可以将此页面流作为主错误处理程序和/或门户中其他页面流的主导航控制器。 “模块”文件夹存储独立的应用程序,这些应用程序打包为 war 和 jar 文件,并可以在需要时与 web 应用程序并行部署。 “库”文件夹用于存储要在多个项目中

13、使用的资源,这些资源应打包为 jar 文件。例如,如果您有一个控件或 ejb要在所有项目中重用,则应将其存储在“库”文件夹中。 “安全角色”文件夹用于定义安全角色并测试 web 应用程序的用户。以测试用户身份登录 web 应用程序可以测试该程序的安全设计。启动 weblogic server要运行并测试页面流应用程序,必须首先在 weblogic server 上部署该程序。为方便起见,现在就可以启动 weblogic server,这样您可以一边设计页面流,一边对其进行测试。1. 在“工具”菜单中,选择“weblogic server”->“启动 weblogic server”。 2

14、. 在“weblogic server 进度”对话框中,可以单击“隐藏”,然后继续执行下一任务。通过查看 weblogic workshop 底部的状态栏,可以确认 weblogic server 是否正在运行。如果 weblogic server 正在运行,将显示一个绿球。如果 weblogic server 未运行,将显示一个红球。现在一切就绪,可以开始设计 web 应用程序了。步骤 2:提交数据在此步骤中,要设置基本页面流应用程序、创建用户可以在其上输入自己名字的 jsp 页,并创建“表单 bean”来存储用户输入。此步骤包括下列任务:· 创建页面流· 生成提交页面、

15、表单 bean、方法 · 测试 web 应用程序 创建页面流1. 在“应用程序”选项卡上,用鼠标右键单击“gettingstarted_webappweb”文件夹,然后选择“新建”->“页面流”。 2. 在“页面流向导 - 页面流名称”对话框中,在“页面流名称”字段中,输入“hello”。单击“下一步”。3. 在“页面流向导 - 选择页面流类型”对话框中,单击“创建”。 新建的页面流位于一个名为 hello 的文件夹中,并由一个名为 index.jsp 的 jsp 文件和一个名为 hellocontroller.jpf 的控制器文件组成。jsp 页是该页面流的默认主页

16、。控制器文件包含 java 方法,可处理数据,并把用户转到不同的 jsp 页。 此控制器文件在流视图的主区域中打开,如下所示。流视图是对控制器文件的图形表现,显示 jsp 页与页面流方法之间的关系。在此例中,流视图表示:· 一个名为 begin 的方法· 一个箭头,表示 begin 方法把用户转到 index.jsp 页面· 一个名为 index.jsp 的 jsp 页 生成提交页面、表单 bean 和方法在这一步骤中,创建一个用户可以提交数据的 jsp 页。还要创建一个表单 bean 和一个方法来对提交进行处理。提交过程有两个步骤:(1) 提交的数据被加载到表单

17、 bean 的匹配字段中; (2) 表单 bean 被传递给一个方法进行处理。1. 在“流视图”中,用鼠标右键单击 index.jsp 图标并选择“重命名”。2. 在所提供的字段中输入“submit”,然后按下 enter 键。3. 双击 "submit.jsp" 图标在主区域中打开此页面。4. 用鼠标右键单击文本“新建 web 应用程序页”并选择“剪切”。5. 从“选项板”选项卡上,将“form”图标拖放到“设计视图”上。“表单向导 - 选择操作”对话框出现。注意:如果“选项板”选项卡未显示,转到“查看”菜单,选择“窗口”->“选项板”。6. 在“表单向导 - 选择

18、操作”对话框的“操作名”字段中,输入 hello。7. 单击“新建.”打开“新建表单 bean” 对话框。8. 在“新建表单 bean”对话框中,在“属性名”字段中,输入“name”。这样,在表单 bean 中便定义了一个“name”属性,其类型为 string。9. 单击“确定”返回“表单向导 - 选择操作”对话框。10. 在“表单向导 - 选择操作”对话框中,单击“新建”。11. 按 ctrl+s 保存所做的工作。         此时,您已向页面流添加了三个新元素:· 一套 jsp 标签添加到了 j

19、sp 页 submit.jsp 中· 一个操作方法 hello 添加到了控制器文件 hellocontroller.jpf 中。在流视图中打开该文件,可对此加以验证。(要在流视图中查看控制器文件,请双击 hellocontroller.jpf,然后单击“流视图”选项卡)。· 一个表单 bean "helloform" 添加到了控制器文件 hellocontroller.jpf 中。此表单 bean 与 hello 方法相关联。在“流视图”中打开该文件,并选择上述操作方法,可对此加以验证。此表单在“表单 bean”选项卡中显示。(如果此选项卡未显示,转到“

20、查看”菜单,选择“窗口”->“表单 bean”)。这三个元素共同作用,以下列方式提交数据:(1) 提交的“name”字段被绑定到 helloform 表单 bean 中的“name”字段;(2) 将此表单 bean 传递给 hello 方法处理。 您可以从 submit.jsp 的设计视图和 hellocontroller.jpf 的流视图推演这一提交过程。下面两节解释如何阅读这些视图。阅读 submit.jsp 的设计视图完成表单向导后,submit.jsp 的设计视图应与右边所示图像一样。设计视图将添加的 jsp 标记表示为三个灰色图标,分别命名为“form”、“textbox”和“

21、button”:· 注意 form 图标包括文本 action='hello'。这表示此表单把数据传递到控制器文件中的 hello 操作方法· 注意 textbox 图标包括文本 actionf。这表示此 textbox 数据被绑定到表单 bean 的“name”属性,而此属性被传递给 hello 方法 阅读 hellocontroller.jpf 的流视图从控制器文件的流视图可以推演出同样的提交过程。注意流视图中的以下图形元素:· 一个名称为“hello”的图标:这代表操作方法 hello· “hello”图标

22、右下角的一个小框:这表示一个表单 bean 被传递给了 hello· 一个从 submit.jsp 图标指向“hello”图标的箭头:这表示数据从 jsp 提交,加载到一个表单 bean,然后被传递给方法 hello。  测试 web 应用程序现在请测试页面流,以确保您正确执行了上述步骤。1. 确保 hellocontroller.jpf 文件显示在主区域中。 2. 单击“启动”按钮,如下所示:3. 启动 workshop 测试浏览器后,请在“name”字段中输入 your_name,然后单击“hello”。下列错误将显示在 workshop 测试浏览器中。显示错误的理由,

23、是因为 hello 方法未在需要调用的下一个 jsp 页上包含说明。将在下一步中更正这种情况。步骤 3:处理数据在此步骤中将学习怎样处理从用户提交的数据,并把用户转到显示结果的页面。此步骤包括下列任务:· 编辑 hello 方法以构造消息· 编辑 hello 方法以转引用户 · 重新排列流视图中的图标 · 测试 web 应用程序 编辑 hello 方法以构造消息首先,编辑 hello 操作方法,以执行处理用户输入的业务逻辑。其次,构造一个 string 消息来从表单 bean 获得名称,并使这一消息可被下一页使用。把此消息做成“请求”对象(可被下一个 j

24、sp 页读取)的一个特性(属性),就可以被下一页使用了。1. 确认 hellocontroller.jfp 显示在主区域的流视图中。 2. 在流视图中,双击“hello”图标,查看此操作的源代码。3. 在源代码视图中,编辑 hello 方法,使其以下列方式出现。添加的代码以红色显示如下: 4. /*5.       * jpf:action6.      */7.     protected forward hello(helloform form)8.

25、    9. / 从提交的姓名构造一个消息。10.         string message = "您好," + form.getname() + "!" 11.         12.         / 把消息置放到请求对象上。13.    

26、     getrequest().setattribute("message", message); 14.         15.         return new forward( "成功" );    16. 按 ctrl+s 保存所做的工作。编辑 hello 方法以转引用户现在,加强 hello

27、 方法的功能来执行导航逻辑。具体讲,需要修改操作方法来调用 response.jsp 页。1. 在“源代码视图”中,将光标放置在 hello 方法签名中的某个地方。2. 在“属性编辑器”中,单击“forward list”部分右边的加号。3. 在“属性编辑器”中,单击“forward(1)”左边的加号。4. 在“forward(1)”下面的部分中的“属性编辑器”中,在“name”属性中,键入“成功”,然后按下 enter 键。5. 在“forward(1)”下面的部分中的“属性编辑器”中,在“path”属性中,键入 response.jsp,然后按下 enter 键。6. 按 ctrl+s 保存所做的工作。hello 方法完成,在源代码视图中应如此显示。重新排列流视图中的图标让我们对流视图中的图标重新排列,以便流读起来更容易。1. 单击“流视图”选项卡。2. 重新排列图标,使其如下显示。请注意,response.jsp 图标会变灰。这表示在控制器文件中引用了 jsp 页 response.jsp,但在页面流文件夹中此 jsp 页还不存在。3. 按 ctrl+s 保存所做的工作。测试 we

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论