使用MyEclipse实现Web应用开发全流程指南
立即解锁
发布时间: 2025-08-18 00:23:40 阅读量: 2 订阅数: 9 

### 使用 MyEclipse 实现 Web 应用开发全流程指南
在 J2EE 开发中,MyEclipse 是一款强大的工具,它能帮助开发者更高效地实现和部署 Web 应用。下面将详细介绍如何使用 MyEclipse 完成从项目部署到调试,再到导出最终产品的整个流程。
#### 1. 项目部署
在部署项目时,XML 文件必须位于 META - INF 目录,这一点非常重要。若不在该目录,需删除这些文件,更新项目属性中 MyEclipse - XDoclet 页面里 XDoclet `<jboss>` 元素的 destDir 属性,然后重新运行 XDoclet。
##### 1.1 EJB 项目部署
EJB 项目的部署与 Servlet 部署类似,具体步骤如下:
1. 在 Package Explorer 中右键单击 CallCenterEJB,选择 MyEclipse -> Add and Remove Project Deployments,打开 Project Deployments 对话框。
2. 若 CallCenterEJB 未被选中,点击下拉按钮选择它。由于之前未部署过该项目,此时没有可用的部署配置。点击 Add 打开 New Deployment 对话框。
3. 在 Server 字段中选择 JBoss 3,保持 Deploy Type 字段为 Exploded Archive。点击 Finish 接受服务器设置并首次部署 EJB。
4. 关闭 New Deployment 对话框后,Project Deployments 对话框的 Deployments 列表中会出现 JBoss 的条目,后续重新部署 EJB 时需选择该条目。最后点击 OK 关闭 Project Deployments 对话框。
部署完成后,重启 JBoss 查看已部署的组件。在 Console 视图的 JBoss 输出中,能看到与 CustomerBean 相关的条目,如下所示:
```plaintext
08:58:57,027 INFO [MainDeployer] Starting deployment of package:
➥file:/C:/tools/jboss-3.2.3/server/default/deploy/CallCenterEJB.jar/
08:58:58,178 INFO [EjbModule] Deploying CustomerBean
08:59:00,812 INFO [CustomerBean] Table ‘CUSTOMER’ already exists
08:59:00,842 INFO [EntityInstancePool] Started
jboss.j2ee:jndiName=ejb/CustomerBeanHome,plugin=pool,service=EJB
08:59:00,842 INFO [EntityContainer]
➥Started jboss.j2ee:jndiName=ejb/CustomerBeanHome,service=EJB
08:59:00,842 INFO [EjbModule]
➥Started jboss.j2ee:module=CallCenterEJB.jar,service=EjbModule
08:59:00,852 INFO [EJBDeployer] Deployed: file:/C:/tools/jboss-3.2.3/
➥server/default/deploy/CallCenterEJB.jar/
08:59:00,932 INFO [MainDeployer] Deployed package:
➥file:/C:/tools/jboss-3.2.3/server/default/deploy/CallCenterEJB.jar/
```
需要注意的是,如果 JDK 类路径中存在冲突的 JAR 文件,部署可能会失败。JBoss 使用 Apache BCEL 库进行 EJB 部署,而一些 XML/XSL 解析器支持文件也使用该库。若 JDK 认可目录(JAVA_HOME/lib/endorsed)中有 XML/XSL JAR 文件,应将其移除,否则部署到 JBoss 会失败。
部署成功后,可通过浏览器访问 JBoss 的 JMX 管理控制台(http://localhost:8080/jmx - console),滚动到 jboss.j2ee 部分,能看到 EJB 的四个条目,表明部署成功。
##### 1.2 更新 CustomerSearchService
为了让客户端能够访问部署好的 EJB,需要修改 CustomerSearchService 以使用 CustomerBeanHome 从 Hypersonic 数据库中检索数据。具体操作如下:
1. 右键单击 CallCenterWeb,选择 Properties。在 Properties 对话框中,选择左侧的 Java Build Path 和右侧的 Projects 选项卡,勾选 CallCenterEJB 旁边的框,然后点击 OK,使 CallCenterEJB 的接口对 CallCenterWeb 项目可见。
2. 修改 CustomerSearchService 的代码,使用 JNDI 查找 EJB 工厂(CustomerBeanHome),将 JNDI 引用转换为正确的类型,然后调用默认查找方法,通过 search.html 页面输入的电话号码检索客户信息。代码如下:
```java
public Hashtable searchUsing(String phoneNumber) {
Hashtable result = new Hashtable(2);
// result.put(“name”, “Thomas Anderson”);
// result.put(“city”, “Chicago”);
try {
CustomerBean customer =
CustomerBeanUtil.getHome().findByPhoneNumber(phoneNumber);
result.put(“name”, customer.getName());
result.put(“street”, customer.getStreet());
result.put(“city”, customer.getCity());
result.put(“state”, customer.getState());
result.put(“zipcode”, customer.getZipcode());
} catch (RemoteException e) {
e.printStackTrace();
} catch (FinderException e) {
e.printStackTrace();
} catch (NamingException e) {
e.printStackTrace();
}
return result;
}
```
保存 CustomerSearchService 时,编译器可能无法解析许多新符号。按下 Ctrl + Shift + O 解析大部分符号,当 Eclipse 询问使用哪个 CustomerBean 符号时,确保选择位于 eclipse.kickstart.interfaces.CustomerBean 的接口。手动修复剩余的编译错误,保存文件以消除已修复的问题。
##### 1.3 Servlet 部署
将 Servlet 部署到 JBoss 意味着创建特定于 JBoss 的新部署配置。也可以使用 CallCenterWeb 现有的部署配置部署到 Tomcat,但要注意 Tomcat 和 JBoss 都使用 8080 作为 HTTP 监听端口,需要更改其中一个。为方便起见,这里将 Servlet、JSP 和 EJB 部署到 JBoss,步骤如下:
1. 右键单击 CallCenterWeb,选择 MyEclipse -> Add and Remove Project Deployments,再次打开 Project Deployments 对话框。
2. 确保 CallCenterWeb 被选中,点击 Add 打开 New Depl
0
0
复制全文
相关推荐










