[摘要]目录结构WEB应用程序应在指定的目录结构中开发,以便它能被打包和在Weblogic服务器(或其它Servlet 2.2兼容服务器)上部署。所有的servlets,类,静态文件以及属于WEB应用程序的其它资源被组织在一个目录层次树下。层次树的根定义了WEB应用程序的文档根(document root...
目录结构
WEB应用程序应在指定的目录结构中开发,以便它能被打包和在Weblogic服务器(或其它Servlet 2.2兼容服务器)上部署。所有的servlets,类,静态文件以及属于WEB应用程序的其它资源被组织在一个目录层次树下。层次树的根定义了WEB应用程序的文档根(document root)。在这个根目录下的所有文件都能被为客户提供服务,但特殊目录WEB-INF和位于根目录的META-INF下的文件除外。用WEB应用程序的名字命名根目录。这个名字被用来解释对WEB应用程序的组件的请求。
私有文件应放在根目录下的WEB-INF目录中。在WEB-INF目录下的所有文件是私有的,并不提供给客户。
WebApplicationName/
放置静态文件,比如这个目录(或子目录)里的HTML文件,JSP文件。这个目录是WEB应用程序的文档根(document root)。
/WEB-INF/web.xml
配置WEB应用程序的部署描述符。
/WEB-INF/weblogic.xml
Weblogic特有的配置描述符文件,它定义如何映射web.xml文件中的命名资源到Weblogic服务器中其它地方的资源上。这个文件也常常用来定义JSP和HTTP会话特性。
/WEB-INF/classes
包含服务器端的类文件,如HTTP servlets和工具类。
/WEB-INF/lib
包含WEB应用程序使用的.jar文件。
部署和重新部署WEB应用程序
用来部署和重新部署WEB应用程序的过程依赖于WEB应用程序部署方式(目录展开格式还是打包格式)。当修改了WEB应用程序的某个组件,还必须在Weblogic服务器上重新部署WEB应用程序,以使修改过的组件起作用。本节讨论这些过程。
修改WEB应用程序的组件
当修改了WEB应用程序的任何组件(如servlet类,HTML文件,JSP文件,或一个部署描述符),除非重新部署WEB应用程序,否则Weblogic服务器不会提供新版本的组件服务。重新部署的过程依赖于WEB应用程序的部署方式(是以.war打包文件方式还是目录展开格式方式)。
.war格式中的组件
当修改了用.war文件方式部署的WEB应用程序的一个组件时,必须将WEB应用程序重新打包并再次上载.war文件。使用步骤5中描述的过程之一。
目录展开格式的组件
当修改了用目录展开格式部署的WEB应用程序的一个组件时,注意Weblogic服务器更新组件的不同方式:
JSP files
JSP文件的重新部署是基于WEB应用程序的Weblogic特有的部署描述符文件(weblogic.xml)中定义的pageCheckSeconds属性的参数设置。这个属性定义了Weblogic服务器检查JSP文件更新状态的时间间隔。如为0,在每次请求时检查页面状态。如为-1,页面检查和重新编译就失去作用。
注意:只在管理者服务器(administration server)上JSP文件是自动重新部署的。如想将JSPs重新部署到被管理的WEB应用程序目标服务器,就必须重新部署WEB应用程序。更多信息参考重新部署WEB应用程序。
Servlets
Servlets的重新部署基于在管理控制台定义的Reload Period属性的参数设置。要设置这个属性,先选定Web Application,然后选定Configuration/Files标签来设置。这个属性定义Weblogic服务器检查servlet类更新状态的时间间隔。如为0 ,每次请求时检查servlet类。如为-1,Weblogic不会检查类的更新状态。
HTML and other static files
如修改了一个HTML或其它静态文件,如图像文件或文本文件,就必须重新部署WEB应用程序,以使Weblogic服务器能意识到这些变化。使用以下过程的其中一个来重新部署WEB应用程序。
重新部署WEB应用程序
使用以下重新部署WEB应用程序的三个过程的一个:
·使用管理控制台:
a.选定 Web Application 节点。
b.选定要重新部署的 Web Application。
c.不选定右边窗格中的Deployed框。
d.点击Apply.
e.选定右边窗格中的Deployed框。
f.点击Apply.
·修改REDEPLOY文件:
a.在WEB应用程序的根目录下建立一个WEB-INF的子目录。
b.建立一个名为REDEPLOY的空文本文件,并保存到WEB-INF目录。
c.要重新部署WEB应用程序,打开REDEPLOY文件,修改文件内容(最简单的方法就是加一些空格),然后保存。在UNIX机器上,可使用touch命令。
·重新复制一个war文件到applications目录(只适用于动态配置)。参考步骤5。
注意:重新部署WEB应用程序也把它重新部署到所有被管理的WEB应用程序目标服务器上。
将WEB应用程序部署成为企业应用程序(Enterprise Application)的一部分
可以将WEB应用程序部署成企业应用程序的一部分。一个企业应用程序是一个J2EE部署单元,它将WEB应用程序、EJBs、资源适配器(Resource Adaptors)一起绑定成单个可部署单元(有关企业应用程序的更多信息,参考包装组件和应用程序)。如将WEB应用程序部署成为企业应用程序的一部分,可以指定一个字符串,它用来代替WEB应用程序的实际名字,Weblogic服务器用它来解释对此WEB应用程序的请求。用企业应用程序的application.xml部署描述符中的<context-root>元素指定一个新名字。进一步的信息,参考客户端应用程序部署描述符元素。
例如,对于名为oranges的WEB应用程序,典型地用如下的URL来请求WEB应用程序oranges上的一个资源:
http://host:port/oranges/catalog.jsp.
如WEB应用程序oranges被打包在一个企业应用程序中,可为<context-root>指定如下示例中的值:
<module>
<web>
<web-uri>oranges.war</web-uri>
<context-root>fruit</context-root>
</web>
</module>
然后可用如下URL去访问WEB应用程序oranges上相同的资源:
http://host:port/fruit/catalog.jsp
……