目标:将Tomcat V6的的例子Examples移植到Apusic V5.1上
术语:
Tomcat:只提供了WEB容器的开源服务器;
Apusic:提供了完整的J2EE支持的商用服务器;
%TOMCAT_HOME%:Tomcat安装目录
%APUSIC_HOME%:Apusic安装目录
准备:
在http://java.sun.com下载JDK V1.5以上的版本并安装,确认JAVA_HOME正确指向装好的JDK目录;
在http://tomcat.apache.org下载Tomcat V6以上的版本并安装;
在http://www.apusic.com下载Apusic V5.1以上的版本并安装;
过程:
1. 执行%TOMCAT_HOME%/bin/startup.bat,访问例子Examples:http://localhost:8080/jsp,确认Tomcat和Examples成功安装,在窗口模式下按Ctrl+C停止服务器;
2. 执行%APUSIC_HOME%/domains/mydomain/bin/startapusic.cmd,访问主页:http://localhost:6888/,确认Apusic已经成功安装,在窗口模式下按Ctrl+C停止服务器(记住因为是批处理还需要按Y确认);
3. 找到%TOMCAT_HOME%/webapps/examples目录,将examples目录拷贝到%APUSIC_HOME%/domains/mydomain/applications/下,重新启动Apusic,稍等一会待Apusic自动部署,应用报错:java.lang.NoClassDefFoundError: org/apache/catalina/CometProcessor,这个错误是因为应用中使用了Tomcat内核的API(非J2EE规范),虽然编写这样的应用违背J2EE规范(JBoss和Resin也这样做过),但是既然应用已经这样使用必须想办法支持。
4. 一种方法是找出应用代码中的部分进行修改,很遗憾我没有找到;另一种就是把那个需要引用的类所在的catalina.jar文件拷贝到%APUSIC_HOME%/domains/mydomain/lib目录下,先停止Apusic应用服务器,然后重新启动。
5. 稍等一下,Apusic自动部署了examples应用,现在访问例子:http://localhost:6888/examples/
6. 哇,成功了。就这么简单就可以完成Tomcat应用到Apusic应用的移植。
总结:Apusic是个符合J2EE规范的应用服务器,在Tomcat上开发的应用都可以非常简单的移植到Apusic上。并且Apusic同样支持WAR包(WEB模块)的直接部署。
备注:
0. 访问http://localhost:6888/examples/jsp/jsp2/el/basic-arithmetic.jsp出错了,为什么?
因为J2EE规范中除0是必须抛出错误,而Tomcat则没有遵守规范操作,请开发者注意。
当然,完美主义者还是希望看到正常显示的页面,那么请把这个文件中的3/0替换成3/4就可以了。
1. 打开examples应用的lib目录,会发现里面还有两个jar文件:jstl.jar和standard.jar,这是支持Standard Library用的,其实Apusic已经自带无须他们,现在停止Apusic服务器,再删除这两个JAR包,然后重新启动Apusic服务器,应用果然可以正常运行;
2. 移植时把catalina.jar全部拷过来了,里面包含了Tomcat对WEB容器的部分实现,那么肯定会疑虑系统到底在调用谁的实现呢?为了确认我们可以将Apusic服务器停止,用WINRAR打开catalina.jar文件,把里面与Comet无关的class全部删除,再重新启动Apusic服务器,应用仍然可以正常运行,现在没有疑虑了;
3. 为什么每次都需要停止服务器才能操作lib里面的JAR文件呢,难道Apusic不支持热部署?
Apusic当然支持热部署,将Examples直接拷贝到applications目录下其实就是热部署,你甚至可以在Apusic启动完成后再执行拷贝也可以。但是应用一旦被加载进应用服务器后,所有的jar文件全部会被锁定,以便保证应用的完整性,所以修改lib下的jar文件必须将应用服务器重新启动。
4. 建议不要部署压缩文件,而是部署将应用展开后的目录,因为对于压缩文件应用服务器启动时还需要一个解压过程,降低启动速度消耗系统资源;
5. 如何在Apusic上给WEB模块配置上下文呢?
现在打开%APUSIC_HOME%/domains/mydomain/config/server.xml可以看到新部署的examples的说明:
<application name="examples" base="applications/examples" start="auto"/>,因为examples不是标准的J2EE应用,导致WEB模块中没有指定上下文,因此可以使用name来指定上下文,比如:
<application name="apusic-examples" base="applications/examples" start="auto"/>就把应用的上下文换成apusic-examples了,访问自然也变成了http://localhost:6888/apusic-examples,简单吧!
分享到:
相关推荐
jar包,亲测可用
### EXTJS 5.1 Examples知识点详解 #### 一、EXTJS 5.1 Examples简介 EXTJS 5.1 Examples是一系列针对EXTJS 5.1版本的示例集合,旨在帮助开发者快速上手并深入理解EXTJS框架的各种功能与应用场景。这些示例涵盖了...
"easy8051_v6_examples_v100_introducedwt1_easy8051_easy_"这一标题暗示了我们即将探讨的是关于8051单片机的一系列简易编程示例,版本为v6,可能是对原有版本的升级或改进,"introducedwt1"可能代表某种新特性或者...
ACTIVITI 5.1 是一款强大的流程引擎,它在IT行业中被广泛应用于工作流管理系统,与知名的工作流引擎JBPM5具有同等的影响力。这个压缩包包含了ACTIVITI 5.1版本的所有核心组件和相关资源,是开发者和系统管理员了解、...
一直以来,我误解认为启动了n个tomcat,则Session需要同步复制到n个Tomcat中存在,因此在启动了6个以上的Tomcat,性能会大大下降。 而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session...
`ps -ef | egrep -i "apache|tomcat" | grep -v grep` Tomcat 目录权限检测 Tomcat 目录权限也非常重要。如果 Tomcat 目录的权限不正确,也可能会导致安全隐患。可以使用 chown 命令来修改 Tomcat 目录的所有者,...
解压后,将Tomcat目录移动到一个合适的系统位置,如 `/opt` 或 `/usr/local` 目录下,并设置环境变量`CATALINA_HOME`指向Tomcat的安装路径。 **4. 配置与启动** 配置Tomcat通常涉及修改`conf/server.xml`文件,以...
iTween Examples v1.0.2.unitypackage
### Domino与Tomcat的集成详解 #### 一、引言 随着互联网技术的发展,企业级应用对于Web服务的需求越来越高。Domino作为一款优秀的办公自动化工具,一直以来都以其强大的邮件处理功能和文档管理能力受到用户的青睐...
- 部署HumanTaskService:将HumanTaskService部署到Tomcat服务器上。 - 启动Tomcat:启动Tomcat服务器并验证服务是否正常运行。 - 运行示例:通过Web浏览器访问示例应用,体验流程执行过程。 通过以上详细介绍,...
lua for windows其实是一整套Lua的开发环境.Lua for Windows 为 Windows 系统下提供了 Lua 脚本语言的开发和运行环境。...Examples (Lua范例) Libraries with documentation (一些Lua库和文档)
1. **安装**:通常是解压缩Tomcat的zip文件到不含中文和空格的路径。 2. **配置**:根据需求修改`conf`目录下的配置文件,如更改端口号、添加用户等。 3. **启动**:运行`bin`目录下的`startup.bat`启动Tomcat,`...
- 打开命令行,切换到`tomcat\bin`目录,执行`service.bat install tomcat666`,其中`tomcat666`是你自定义的服务名称。 - 成功安装后,可在服务管理器(`services.msc`)中找到并启动Apache Tomcat 6服务,通过...
标题中的“TranzGUI解压5.1声道”指的是使用TranzGUI工具对具有5.1声道音频内容的文件进行解压缩的过程。5.1声道是一种环绕声系统,包括五个全频音箱(左前、右前、中央、左后、右后)和一个低音炮(.1声道),为...
10. **文档和示例**:`docs`目录包含Tomcat的API文档和其他用户指南,`examples`目录提供了一些简单的JSP和Servlet示例,有助于学习和理解Tomcat的工作原理。 要部署和运行这个Apache Tomcat实例,你需要先解压`...
【标题】"3.0 tomcat.rar"是一个与Tomcat相关的压缩包,它很可能包含了Tomcat服务器的3.0版本的安装文件或者源代码。Tomcat是Apache软件基金会的Jakarta项目下的一个开源免费的Java Servlet容器,尤其适用于运行Java...
最新的apache-tomcat-8.5.42版本+最新的tomcat-cluster-redis-session-manager-2.0.4 配置了JAVA_OPTS,详见bin/catalina.sh及bin/catalina.bat文件 配置了manager账号密码,详见conf/tomcat-users.xml文件 卸载了...
通过研究"ServletExamples"和"JSPExamples"中的代码,不仅可以加深对这两项技术的理解,还可以学习到实际开发中的最佳实践。如果你对Web开发感兴趣,这是一个很好的起点,可以从这些示例中学习并动手实践,提升自己...
"tomcatbook-examples-1.0"这个文件名暗示了这可能是一个包含Tomcat示例应用的压缩包。通常,这样的例子会包括各种类型的Servlet和JSP示例,如登录注册系统、数据展示、文件上传下载等,这些例子有助于开发者了解...