`
zhuyuanxiang
  • 浏览: 127110 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Tomcat V6 Examples移植到Apusic V5.1

阅读更多

目标:将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,简单吧!

0
0
分享到:
评论

相关推荐

    calendarviews-examples-1.5-rc5.1-sources.jar

    jar包,亲测可用

    EXTJS 5.1 Examples

    EXTJS 5.1 Examples介绍如何参考EXTJS 5.1 范例的指导

    tomcat cluster 集群 session复制

    一直以来,我误解认为启动了n个tomcat,则Session需要同步复制到n个Tomcat中存在,因此在启动了6个以上的Tomcat,性能会大大下降。 而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session...

    iTween Examples v1.0.2.unitypackage

    iTween Examples v1.0.2.unitypackage

    LuaForWindows_v5.1.5-52 安装包

    lua for windows其实是一整套Lua的开发环境.Lua for Windows 为 Windows 系统下提供了 Lua 脚本语言的开发和运行环境。...Examples (Lua范例) Libraries with documentation (一些Lua库和文档)

    Kinect v2 Examples with MS-SDK and Nuitrack SDK V2.19.1.rar

    Kinect v2 Examples with MS-SDK and Nuitrack SDK V2.19.1.unitypackage 最新插件,本资源来源网络,如有侵权请通知删除。

    Kinect v2 Examples with MS-SDK v2.13 with SDK2.unitypackage

    This is a set of Kinect-v2 (aka ‘Kinect for Xbox One’) examples that use several major scripts, grouped in one folder. The package contains over thirty demo scenes. Apart of Kinect-v2 and v1 ...

    tensorflow中examples文件下载

    No module named ‘tensorflow.examples.tutorials解决方法,没有examples的解决资源

    apache2.2.11和tomcat6整合配置例子打包下载

    apache2.2.11和tomcat6整合配置例子打包下载,开发宝典...... apache2.2.11和tomcat6整合配置 1,下载mod_jk.so 2,在apache的httpd.conf里面加入下面的话 LoadModule jk_module modules/mod_jk.so JkWorkersFile "D:\...

    jna-examples.jar

    从maven中得到的jna.jar里面没有examples的类(坑了我)。所以找到了一个examples包下面不是空的jna.jar.

    tomcat-7.0.28

    安装tomcat7 下载地址:http://tomcat.apache.com/ cd /usr/local/src/tarbag tar zxvf apache-tomcat-7.0.28.tar.gz -C ../software/ cd ../software cp -rp apache-tomcat-7.0.28/ /usr/local/ cd /usr/local/...

    FineUIPro_Examples_v2.1.0

    FineUIPro_Examples_v2.1.0

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    四个TOMCAT目录:自行解压到(D:\toots\)下。分别为 tomcatA,tomcatB,tomcatC,tomcatD 三、配置 1、Apache配置 1.1、httpd.conf配置 修改APACHE的配置文件D:\toots\Apache \conf\httpd.conf 将以下Module的注释...

    com.sun.jna.examples

    com.sun.jna.examples

    tomcat环境变量配置

    1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录; 2.在webapps目录下新建一个目录,起名叫myapp; 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;...

    iTween+iTween Examples v1.0.2

    iTween+iTween Examples v1.0.2

    dl4j-examples-scala, 一个简单的Scala 移植.zip

    dl4j-examples-scala, 一个简单的Scala 移植 Scala的Deeplearning4J示例这个项目是一个简单的Scala 端口,即 deeplearning4j-example 。本项目的主要目的是:显示如何从 Scala 使用 deeplearning4j javaapi

    MySQL Administrator's Bible

    Welcome to the MySQL Administrator’s Bible. Like all books in the Bible series, you can expect to find both hands-on ...All of the examples work in both MySQL 5.1 and MySQL 6.0, except where noted.

    deeplearning4j examples

    只是设置到了可以运行官网的examples为止,可能存在隐患吧,但本人能力有限,实在无从下手,还期待高手指定 2.按照Maven 按照教程安装Maven,该教程讲述非常详细 (1)下载Maven3,3,3,以win7 64位为例 下载...

    tomcat-juli.jar,tomcat-juli-adapters.jar,log4j-1.2.17.jar tomcat 8日志输出

    {"time":"2017-09-06 10:24:48,376","logtype":"INFO","loginfo":"org.apache.catalina.startup.HostConfig:Deploying web application directory C:\Users\admin\Desktop\Tomcat8\webapps\examples"} {"time":"2017...

Global site tag (gtag.js) - Google Analytics