在weblogic部署一个web application或application的目录结构
在weblogic上要发布一个web applicate必须有下面的目录结构:mywebapp.ear
|____css
|____js
|____jsp
|____images
|____index.jsp
|____META-INF
|____WEB-INF
|___lib //放这个web application所需要的jar包
|___classes //放class类
|___web.xml //对这个web application描述
|___tlds
|____tlds.xml
|____weblogic.xml
发布一个application需要有下面的目录结构:
myapplication
|___APP-INF //放在这个目录下的lib和classes不能实例化webapp下的类
| |___lib //放ejb和webapp公用的jar包
| |___classes//放ejb和webapp公用的类
|___META-INF
| |__application.xml
|___mywebapp
| |____WEB-INF
| |___lib
| |___classes //放class类
| |___web.xml
|___ejb.jar //ejb的jar包
另外要注意的地方是APP-INF/lib和APP-INF/classes下类不能实例化webapp下的类,这点要注意,否则会报类找不到的错误。
这点可以从classloader的类装载机制来解释。application的classloader只装载app-inf层次以及以上层次的类,webapp只装载
WEB-INF下的类以及以上层次的类,所以application的类找不到webapp下的类而webapp的类能找到application下的类。
ejb和webapp下的类是相互不可见的,这点也要注意。
application.xml部署说明设置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
<application id="Application_ID">
<display-name>TestEar</display-name>
<module id="WebModule_1289041299062">
<web>
<web-uri>TestEarWeb.war</web-uri>
<context-root>TestEarWeb</context-root>
</web>
</module>
<module>
<ejb>ejb.jar</ejb>
</module>
</application>
页:
[1]