当前页面: 开发资料首页 → Netbeans 专题 → NetBeans 5.0 端到端演示
摘要: NetBeans 5.0 端到端演示 反馈 作者及整理人: Brian Leonard '); //--> Brian Leonard Brian Leonard 和 Gregg Sporar ');...
该演示将与 NetBeans 5.0 结合使用。如果您使用的是 NetBeans 4.1,请使用此版本。
该演示设计用于展示 NetBeans 5.0 的端到端应用程序开发支持 - J2EE 到 J2SE 到 J2ME。同时,将展示 NetBeans 中许多有用的功能,例如重构和 HTTP 监控。我们花费了一些时间将该脚本作为资源提供给有兴趣将 NetBeans 展示给其他人的任何人。
我们将要构建小型应用程序,从而确定出我们给予不同客户的折扣率。我们的应用程序将具有三个客户端接口:Web 接口、富客户端接口和适用于移动设备的 MIDlet 接口。我们从 J2EE 1.4 SDK 中它包含的 Derby 样例数据库开始。我们以 CUSTOMER 表为参照使用 NetBeans 向导创建 CMP 实体 beans。我们向实体 bean 创建会话 bean 门面,该实体 bean 用单一方法向特定客户提供折扣率,然后我们通过 web 服务操作来展示该方法。然后通过该 Web 服务来创建我们的这 3 个客户端接口。
NetBeans 中的 J2EE 支持需要安装 J2EE 1.4 SDK。
public float getDiscount(String name) { float rate = 0; try { Iterator customers = lookupCustomerBean().findByName(name).iterator(); CustomerLocal cust = (CustomerLocal) customers.next(); rate = cust.getDiscountCode().getRate().floatValue(); } catch (Exception e) { System.out.println("Ex: " + e); } return rate; }
float rate = 0;
try {
ejb.CustomerFacadeRemote customer = lookupCustomerFacadeBean();
rate = customer.getDiscount(name);
} catch (Exception e) {
e.printStackTrace();
}
return rate;
<H1>Discount Rate Web Service</H1>
<H2>Enter company name:</H2>
<form method="get">
<input type="text" name="name" size="25">
<br>
<p>
<input type="submit" value="Get Discount">
</form>
<%
String name = request.getParameter("name");
if ( name != null ) {
try {
float result = getCustomerWebServiceSEIPort().getDiscountRate(name);
%>
<p><%=name%> gets a : <b> <%=result%> %</b> discount.
<%
} catch(java.rmi.RemoteException ex) {
out.println("<p>Caught an exception <p>" + ex);
}
out.close();
}
%>
static String getDiscount(String company) {
}
static String getDiscount(String company) {
try {
richcustomerclient.CustomerWebService customerWebService = new richcustomerclient.CustomerWebService_Impl();
richcustomerclient.CustomerWebServiceSEI customerWebServiceSEIPort = customerWebService.getCustomerWebServiceSEIPort();
customerWebServiceSEIPort.getDiscountRate(/* TODO enter operation arguments*/);
} catch(javax.xml.rpc.ServiceException ex) {
// TODO handle ServiceException
} catch(java.rmi.RemoteException ex) {
// TODO handle remote exception } catch(Exception ex) {
// TODO handle custom exceptions here
}
}
static String getDiscount(String company) {
try {
richcustomerclient.CustomerWebService customerWebService = new richcustomerclient.CustomerWebService_Impl();
richcustomerclient.CustomerWebServiceSEI customerWebServiceSEIPort = customerWebService.getCustomerWebServiceSEIPort();
return new Float(customerWebServiceSEIPort.getDiscountRate(company)).toString();
} catch(javax.xml.rpc.ServiceException ex) {
ex.printStackTrace();
} catch(java.rmi.RemoteException ex) {
ex.printStackTrace();
} catch(Exception ex) {
ex.printStackTrace();
}
return "Error";
}
String company = jTextFieldCompanyName.getText();
String discount = company + " gets a " + Main.getDiscount(company) + "% discount.";
jLabelResult.setText(discount);
RichCustomerJFrame app = new RichCustomerJFrame();
app.setVisible(true);