如何使用 Oracle JDeveloper 10.1.3 创建简单的 ASK 应用程序

如何使用 Oracle JDeveloper 10.1.3 创建简单的 ASK 应用程序

本主题描述如何使用 JDeveloper 创建简单的 Ask 应用程序。这些应用程序将部署在 Ask Server 上,以使消息处理设备能够与 Web 应用程序交互。创建 Ask 应用程序时,JDeveloper 10.1.3 不提供设计时支持。但是,我们有类似的替代解决方案。

目录

  1. Ask 简介
  2. Ask 消息处理示例
  3. 使用 JDeveloper 创建简单的 Ask 应用程序

Ask 简介

Ask Server 是一个允许消息处理设备与 Web 应用程序交互的组件。顾名思义,它为消息处理设备的用户提供了一种获取信息的方式。

Ask Server 体系结构

Oracle Application Server Wireless 提供了一个框架和运行时环境,用于开发通过基于浏览器的设备(如具有 WAP 或 XHTML 浏览器的设备)或基于消息处理协议的设备(如具有 SMS 功能的移动电话)访问的无线和语音应用程序。Ask Server 是一个无线组件,可允许基于消息处理协议的设备访问这些无线应用程序。

按照惯例,进入应用服务器的入口点是通过 HTTP 协议。这就将在应用服务器上构建的应用程序限制为只能由具有 Web 功能的客户端使用。这个服务器限制对于移动市场用户来说是个问题,因为绝大多数移动用户都没有 Web 访问。但这些用户几乎都有某种消息功能(如电子邮件或 SMS)。随着 Ask Server 的引入,用户还可以通过 HTTP 以外的消息处理协议(如电子邮件或 SMS)访问应用程序。开发人员只需构建应用程序逻辑,Oracle Application Server Wireless 则负责建立正确的连接、执行会话管理以及解释用户请求。应用程序通过相同的方式调用,而不必考虑使用哪个协议处理传入的请求,从而为应用程序开发人员访问其服务提供了完全的透明度。

Ask 消息处理示例

以下是有关设备用户如何访问 Web 应用程序的示例。

要访问股票报价应用程序,具有支持 SMS 的电话的用户可以执行以下操作:

  1. 创建一个消息,并指定应用程序门户提供的目标地址(例如,223)。
  2. 在消息正文中指定文本 stk orcl
    注:文本 stk 是用于识别股票报价应用程序的缩写名称,orcl 是应用程序所需的参数。

随后,服务器会处理该消息,并通过另一条消息传回结果。

创建简单的 Ask 应用程序

本主题将引导您完成在 JDeveloper 中创建“Hello World”应用程序所需的步骤。您需要执行下列任务:

  1. 创建空白应用程序和项目
  2. 创建新的 JSF JSP 文件
  3. 创建 Java Bean
  4. 创建托管 Bean
  5. 将 ADF 组件添加到 JSF JSP 文件
  6. 测试 JSF JSP 文件
  7. 将呈现器工具包和视图处理器添加到 ADF Faces 配置
  8. 将 Ask 呈现器工具包实现和 ADF 共享添加到库中
  9. 创建部署配置文件
  10. 部署应用程序

创建空白应用程序和项目

创建应用程序和项目。

  1. 打开 New Gallery,方法是选择 File 然后选择 New
  2. 在 New Gallery 的 Categories 树中,选择 General
  3. Items 列表中,双击 Application

New Gallery:General 类别:Application 项

  1. 在 Create Application 对话框中,输入 HelloApp 作为应用程序名称,然后单击 OK

Create Application 对话框

  1. 在 Create Project 对话框中,输入 HelloPrj 作为项目名称,然后单击 OK

Create Project 对话框

返回主任务列表

创建新的 JSF JSP 文件

创建 JSF JSP 文件。

  1. 在 Applications Navigator 中,右键单击刚创建的项目并选择 New
  2. 在 New Gallery 中,展开 Web Tier 节点并选择 JSF 类别。
  3. Items 列表中,双击 JSF JSP

New Gallery:Web Tier > JSF 类别:JSF JSP 项

  1. 在 Welcome 页面上,单击 Next
  2. 在 Web Application 页面上,选择 Servlet 2.4\JSP 2.0 (J2EE 1.4) 并单击 Next
  3. 在 JSP File 页面上,选择 JSP Document,输入 Hello.jspx 作为文件名,然后单击 Next

Create JSF JSP 向导:JSP File 页

  1. 在 Component Binding 页面上,选择 Do Not Automatically Expose UI Components in a Managed Bean,然后单击 Next
  2. 在 Error Page Options 页面上,单击 Next
  3. 在 Tag Libraries 页面上,使用 右移 按钮将 ADF Faces ComponentsADF Faces HTMLAvailable Libraries 列表移到 Selected Libraries 列表,然后单击 Finish

Create JSF JSP 向导:Tag Libraries 页

  1. 在 HTML Options 页面上,单击 Next
  2. 在 Finish 页面上,单击 Finish 创建 JSF JSP 文件。

返回主任务列表

创建 Java Bean

创建一个 Java Bean,用于存储输入名称。

  1. 在 Applications Navigator 中,右键单击刚创建的项目并选择 New
  2. 在 New Gallery 中,展开 General 节点并选择 JavaBeans 类别。
  3. Items 列表中,双击 Bean

New Gallery:General > JavaBeans 类别:Bean 项

  1. 在 Create Bean 对话框中,输入 HelloBean 作为名称,从 Extends 下拉列表中选择 java.lang.Object,然后单击 OK

Create Bean 对话框

  1. HelloBean.java 文件的源代码编辑器中,在 bean 构造函数后面添加以下代码:

    public String getName()
    {
    return name;
    }
    public void setName(String name)
    {
    this.name = name;
    }
    private String name;

存储输入名称

返回主任务列表

创建托管 Bean

在 ADF Faces 配置中创建一个托管 bean。

  1. 在 Applications Navigator 中,展开刚创建的项目下面的 Web Content 树。
  2. 展开 WEB-INF 树并选择 faces-config.xml 节点。
    faces-config.xml 文件的结构将出现在 Structure 窗口中。

  1. 在 Structure 窗口中,右键单击 Faces Config 并选择 Insert inside Faces Config 然后选择 managed-bean
  2. 在 Create Managed Bean 对话框中,输入 Hello 作为名称,输入 mypackage.HelloBean 作为类,然后单击 OK

Create Managed Bean 对话框

  1. 在 Structure 窗口中,展开托管 bean 节点,然后右键单击 Scope
  2. 选择 Insert after Scope 然后选择 managed-property
  3. 在 Create Managed Property 对话框中,输入 name 作为名称,输入 java.lang.String 作为类,然后单击 OK

Create Managed Property 对话框

  1. 在 Structure 窗口中,右键单击托管属性节点,然后选择 Properties
  2. 在 managed-property Properties 对话框中,输入 #{param.name} 作为值,然后单击 OK

managed-property Properties 对话框

返回主任务列表

将 ADF 组件添加到 JSF JSP 文件

将 ADF 组件添加到 JSF JSP 文件。

  1. 在 Applications Navigator 中,双击 Hello.jspx
  2. 在 Structure 窗口中,删除 jsp:outputhtml 节点。

Hello.jspx 的原始 Structure 视图

  1. 右键单击 f:view 并选择 Insert inside f:view 然后选择 ADF Faces HTML 然后选择 Html
  2. 右键单击 afh:html 并选择 Insert inside afh:html 然后选择 ADF Faces HTML 然后选择 Head
  3. 右键单击 afh:head - Title 1 并选择 Properties

Structure 视图:具有新的 HTML 和 Head 标记的 Hello.jspx

  1. 在 Head Properties 对话框中,输入 Hello App 作为标题属性,然后单击 OK

Head Properties 对话框

  1. 在 Structure 窗口中,右键单击 afh:html 并选择 Insert inside afh:html 然后选择 ADF Faces HTML 然后选择 Body
  2. 右键单击 afh:body 并选择 Insert inside afh:body 然后选择 ADF Faces Core
  3. 在 Insert ADF Faces Core Item 对话框中,选择 Form,然后单击 OK

Insert ADF Faces Core Item 对话框:Insert Form 元素

  1. 在 Structure 窗口中,右键单击 af:form 并选择 Insert inside af:form 然后选择 ADF Faces Core
  2. 在 Insert ADF Faces Core Item 对话框中,选择 OutputText,然后单击 OK

Insert ADF Faces Core Item 对话框:Insert OutputText 元素

  1. 在 Structure 窗口中,右键单击 af:outputText - outputText1 并选择 Properties
  2. 在 OutputText Properties 对话框中,输入 Hello(后面带有一个空格)作为值属性,然后单击 OK
    注:后面带有一个空格是为了将静态输出文本 Hello 与将传递给应用程序的后续输出参数区分开。

OutputText Properties 对话框:静态值

  1. 在 Structure 窗口中,右键单击输出文本节点,并选择 Insert after af:outputText - Hello 然后选择 ADF Faces Core
  2. 在 Insert ADF Faces Core Item 对话框中,选择 OutputText,然后单击 OK
  3. 右键单击 af:outputText - outputText2 并选择 Properties
  4. 在 OutputText Properties 对话框中,删除默认值并单击 Bind
  5. 在 Bind to Data 对话框的 Variables 导航树中,展开 JSF Managed BeansHello,然后选择 name
  6. 单击 右移 按钮,使用该变量创建一个 EL 表达式,然后单击 OK

Bind to Data 对话框

  1. 在 OutputText Properties 对话框中,单击 OK

OutputText Properties 对话框:绑定到数据的值属性

返回主任务列表

测试 JSF JSP 文件

测试运行应用程序。

  1. 选择 Run 然后选择 Run Hello.jspx
    这将启动默认的 Web 浏览器,并显示文本 Hello(如果没有将参数值传递到该页面)。

测试输出:静态值

  1. ?name=John 追加到地址栏中的 URL,然后按 Enter 键。
    现在,Web 浏览器将显示文本 Hello John

测试输出:带有参数

返回主任务列表

将呈现器工具包和视图处理器添加到 ADF Faces 配置

将呈现器工具包配置到 faces-config.xml 中。

  1. 在 Applications Navigator 中,选择 faces-config.xml 节点。
    faces-config.xml 文件的结构将出现在 Structure 窗口中。
  2. 在 Structure 窗口中,右键单击托管 bean 节点,并选择 Insert after managed-bean - Hello 然后选择 render-kit
  3. 在 Create Render Kit 对话框中,输入 oracle.adf.async 作为 ID,输入 oracle.adfinternal.view.faces.ask.renderkit.AsyncRenderKit 作为类,然后单击 OK

Create Render Kit 对话框

  1. 在 Structure 窗口中,双击 application 节点。
  2. 在 application Properties 对话框中,输入 oracle.adfinternal.view.faces.ask.application.AsyncViewHandlerImpl 作为视图处理器。

application Properties 对话框

返回主任务列表

将 Ask 呈现器工具包实现和 ADF 共享添加到库中

将 Ask 呈现器工具包实现添加到库中。

  1. 在 Applications Navigator 中,右键单击 HelloPrj 节点并选择 Project Properties
  2. 在 Project Properties 对话框的导航树中,单击 Libraries

Project Properties 对话框:Libraries 页

  1. 在 Libraries 页面上,单击 Add Library
  2. 在 Add Library 对话框中,单击 New

Add Library 对话框

  1. 在 Create Library 对话框中,单击 Add Entry

Create Library 对话框:Ask 实现

  1. 在 Select Path Entry 对话框中,导航到 JDeveloper 主目录下的 wireless/lib,选择 ask-adf-faces-impl.jar,然后单击 Select

Select Path Entry 对话框:Ask 实现库

  1. 在 Create Library 对话框中,单击 OK
  2. 在 Add Library 对话框中,单击 New
    注:我们需要重复几个步骤来添加 ADF 共享库。

Add Library 对话框:Ask 实现

  1. 在 Create Library 对话框中,单击 Add Entry
  2. 在 Select Path Entry 对话框中,导航到 JDeveloper 主目录下的 BC4J\lib,选择 adfshare.jar,然后单击 Select

Select Path Entry 对话框:ADF 共享库

  1. 在 Create Library 对话框中,单击 OK
  2. 在 Add Library 对话框中,单击 OK
  3. 在 Project Properties 对话框中,单击 OK

Project Properties 对话框:Libraries 页

返回主任务列表

创建部署配置文件

为应用程序创建部署配置文件。

  1. 从主菜单中,选择 Run 然后选择 Deploy 然后选择 New Deployment Profile
  2. 在 New Gallery 中,展开 General 节点并选择 Deployment Profiles 类别。
  3. Items 中,双击 WAR File

New Gallery:General > Deployment Profiles:WAR File

  1. 在 Create Deployment Profile -- WAR File 对话框中,输入 HelloApp 作为名称,然后单击 OK

Create Deployment Profile -- WAR File 对话框

  1. 在 WAR Deployment Profile Properties 对话框的导航树中,展开 File Groups 节点,展开 WEB-INF/lib 节点,然后选择 Contributors
  2. 在 Contributors 页面上,选中 ADF Common RuntimeAdfshare.jarAdfshare.jar 复选框,然后单击 OK

WAR Deployment Profile Properties 对话框

返回主任务列表

部署应用程序

部署应用程序。

  • 从主菜单中,选择 Run 然后选择 Deploy 然后选择 1 HelloApp.deploy
    系统将在项目目录的 deploy 目录下创建 HelloApp.war 文件。

您现在可以使用该 war 文件将应用程序部署到默认的 OC4J 服务器。

返回主任务列表

寄送此页面
Printer View 打印机视图