使 Java 应用程序支持无线消息传递

使 Java 应用程序支持无线消息传递

本教程介绍如何使 Java 应用程序支持无线消息传递。

大约 25 分钟

本教程包括下列主题:

概述
前提条件
配置 JDeveloper 无线扩展 (JWE)
验证 JWE 的安装
创建一个普通的 J2EE 应用程序
向该 J2EE 应用程序添加消息传递功能

将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)

注意:此外,您还可以在 下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

OracleAS Wireless 提供了一个简单、集成的解决方案,可用消息传递功能强化应用程序。使用 OracleAS Wireless 的消息传递功能,您可以向任何类型的设备发送通知。JDeveloper 无线扩展 (JWE 10g (9.0.5)) 使您能够在 JDeveloper IDE(9.0.3.x 及以上版本)中,通过 Multi-Channel Messenger Creation 向导将 OracleAS Wireless 消息传递功能添加到 J2EE 应用程序中。


为使本课程顺利进行,您需要先完成以下步骤:

1.

安装了 Oracle JDeveloper 10g

1.

从以下位置下载 jwe.zip
http://www.oracle.com/technology/tech/wireless/tools/index.html
该 OBE 使用 JDeveloper (9.0.5) 无线扩展。

将该 zip 文件解压缩到您的计算机上。

2.

jwe.jar 文件复制到 jdev_home\lib\ext 文件夹。例如,如果您已经在 E:\jdev10g 文件夹中安装了 JDeveloper,则将 jwe.jar 文件复制到 E:\jdev10g\jdev\lib\ext。

3. 如果已经启动了 JDeveloper,则重新启动它。

1.

启动 JDeveloper。

2.

从 JDeveloper 菜单中选择 Tools,然后选择 Preferences

将鼠标移到该图标上可以查看该图像

3.

您将看到 Preferences 对话框。单击 Extension Manager

将鼠标移到该图标上可以查看该图像

4.

展开 System Extensions

将鼠标移到该图标上可以查看该图像

5.

验证 J2ME Applications、Multi-Channel Applications 以及 XForms Applications 均处于选中状态。

将鼠标移到该图标上可以查看该图像

您将创建一个简单的 J2EE 应用程序,然后使其具备无线消息传递功能。该应用程序包括一个简单的 JSP,可提示用户名并显示该名称、当前数据和时间。要创建一个简单的 J2EE 应用程序,请执行下列步骤:

1.

在 System - Navigator 中选择 Workspaces。右键单击并从上下文菜单中选择 New Workspace...

将鼠标移到该图标上可以查看该图像

2.

将 Workspace Name 更改为 SensorApp。单击 OK

将鼠标移到该图标上可以查看该图像

3.

您将看到 Create Project 对话框。输入 Msgprj 作为 Project Name 并单击 OK

将鼠标移到该图标上可以查看该图像

4.

在 System - Navigator 中,右键单击该项目并从上下文菜单中选择 New...

将鼠标移到该图标上可以查看该图像

5.

在 Categories 下面展开 Web Tier。选择 JavaServer Pages (JSP),然后从 Items 中选择 JSP Page。单击 OK

将鼠标移到该图标上可以查看该图像

6.

输入 main.jsp 作为 File Name 并单击 OK。这将创建一个简单的 JSP 页面,该页面运行时显示今天的日期。

将鼠标移到该图标上可以查看该图像

7.

您将看到 main.jsp 的 Design 视图和 Source 视图。您还将在右侧看到组件模板。
按如下所示关闭组件模板。

将鼠标移到该图标上可以查看该图像

单击 Source 选项卡。您将看到 main.jsp 的源代码。修改 main.jsp 以接受用户的 name 并显示欢迎消息。将以下代码复制并粘贴到 main.jsp 文件的代码编辑器。
注意:如果所有代码被复制到一行,您可以将其拆分为多行以便阅读。

<%@ page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Welcome!!</title>
</head>
<body>
<%
String user = request.getParameter("user");
String currtime = new java.util.Date().toString();
%>
<H3>Welcome
<%= (user==null) ? "" : user %>
</H3>
<P>
<B>The current time is <%= currtime %>.
</B>
</P>

<% if (user == null)
{
%>

<B>Please enter your name:</B>
<form method="get">
<input type="text" name="user" size="15"/>
<input type="submit" value="Submit Name"/>
</form>
<%
}
%>
</body>
</html>

将鼠标移到该图标上可以查看该图像

8.

右键单击 main.jsp。选择 Run > in Embedded OC4J Server

将鼠标移到该图标上可以查看该图像

9.

您将看到该应用程序运行在默认浏览器上。在文本域中输入您的姓名并单击 Submit Name

将鼠标移到该图标上可以查看该图像

您会看到欢迎消息。

将鼠标移到该图标上可以查看该图像

要向该 J2EE 应用程序添加消息传递功能,请执行下列步骤:

1.

选择 Msgprj.jpr。右键单击并从上下文菜单中选择 New...

将鼠标移到该图标上可以查看该图像

2.

您将看到 New Gallery。在 Categories 下面,展开 Wireless Tier 并选择 Multi-Channel Applications选择 Items 下的 Multi-Channel Messenger Creation Wizard,然后单击 OK
通过使用 Multi-Channel Messenger,您将能够向任何设备发送通知。在本例中,我们将向用户输入的任何电话号码发送语音警报。其他发送选项包括 SMSEmail

将鼠标移到该图标上可以查看该图像

3.

注意,将自动把 MultiChannelMessenger.java 添加到您的项目中。MultiChannelMessenger.java 是一个帮助类,它调用托管在 messenger.oracle.com 上的 Web service 以实际传递消息。

将鼠标移到该图标上可以查看该图像

4.

验证该项目是否包括 OracleAS Wireless SDK 库。右键单击该项目并从上下文菜单中选择
Project Properties...

将鼠标移到该图标上可以查看该图像

5.

在 Development 节点中选择 Libraries。注意,OracleAS Wireless SDK 库被插入
到您的项目中。单击 OK

将鼠标移到该图标上可以查看该图像

6.

要将 OracleAS Wireless 消息传递功能集成到现有应用程序中,必须将 MultiChannelMessenger 导入您的 JSP 代码中。将下列代码行加入您的 main.jsp 文件中:

<%@ page import="oracle.panama.wireless.MultiChannelMessenger" %> 

将鼠标移到该图标上可以查看该图像

7.

将下列代码加入 main.jsp 文件中的 标记后。
注意:如果所有代码被复制到一行,您可以将其拆分为多行以便阅读。

<% 
}

else
{
%>
<B>Please enter your phone number including country code (i.e. +18885551212):</B>
<form method="get">
<input type="text" name="phone" size="15" value="+18885551212"/>
<input type="submit" value="Send Message"/>
<input type="hidden" name="user" value="<%=user %>"/>
</form>

<%
}
String phone = request.getParameter("phone");
if (phone != null)
{
MultiChannelMessenger messenger = new MultiChannelMessenger();
messenger.clear();
// set username, password
messenger.setAccount("", "");
messenger.setSender(MultiChannelMessenger.EMAIL, "ENTER YOUR EMAIL ADDRESS");
//messenger.setRecipient(MultiChannelMessenger.VOICE, phone);
messenger.setRecipient(MultiChannelMessenger.SMS, phone);
//messenger.setRecipient(MultiChannelMessenger.EMAIL, "ENTER YOUR EMAIL
// ADDRESS");
//messenger.setProxy("www-proxy.us.oracle.com", 80);

String message = "Hello " + user +
". Thank you for trying Oracle Application Server Wireless!";

messenger.send(message);
%>
<B>Message "<%=message %>" sent to <%= phone %>.
</B>

将鼠标移到该图标上可以查看该图像

8.

main.jsp 中查找以下代码,并用您的电子邮件地址替换“ENTER YOUR EMAIL ADDRESS”

messenger.setSender(MultiChannelMessenger.EMAIL, "ENTER YOUR EMAIL ADDRESS");

将鼠标移到该图标上可以查看该图像

9.

右键单击 main.jsp。选择 Run > in Embedded OC4J Server

将鼠标移到该图标上可以查看该图像

10.

您将看到该应用程序运行在默认浏览器上。在文本域中输入您的姓名并单击 Submit Name

将鼠标移到该图标上可以查看该图像

11.

输入您的电话号码并单击 Send Message。

将鼠标移到该图标上可以查看该图像

将鼠标移到该图标上可以查看该图像

12.

或者,去除 main.jsp 中以下行的注释,尝试发送一封语音邮件。
注意: MultiChannelMessenger.java 是一个帮助类,它调用托管在 messenger.oracle.com 上的 Web 服务以实际传递消息。您能够使用该服务传递数量有限的消息。有关申请消息传递试用帐户的详细信息,请参见 http://www.oracle.com/technology/tech/wireless/messaging.htm。

//messenger.setRecipient(MultiChannelMessenger.VOICE, phone);
//messenger.setRecipient(MultiChannelMessenger.EMAIL, "ENTER YOUR EMAIL
// ADDRESS");

在本课程中,您学习了如何:

针对 JDeveloper 配置 Java Wireless 扩展

向该 J2EE 应用程序添加消息传递功能

使用 MultiChannelMessenger 类发送 SMS
有关本 OBE 教程的问题,请在 OBE 论坛上张贴问题。
要了解有关无线和移动服务的更多信息,请单击此处
要了解如何安装 JWE,请单击此处

将鼠标置于该图标上可以隐藏所有的屏幕截图。

版权所有 © 2004 Oracle Corporation。保留所有权利。