第1.2式. 部署Struts 示例应用问题你需要将Struts所带的MailReader 示例应用部署到Tomcat中。
动作分解如果你好没有安装和运行Tomcat,你可以从http://jakarta.apache.org/tomcat下载之。这一招假定你使用的是Tomcat 5。首先设置为Struts 和Tomcat设置环境变量,将Struts 示例的WAR文件拷贝到Tomcat,然后启动Tomcat。
如果你是使用Struts 1.2, Struts MailReader 示例应用的WAR 文件名从1.1的struts-example.war改为struts-mailreader.war。
在Windows下的相关命令为:
C:\>set STRUTS_HOME=c:\jakarta-struts-1.1
C:\>set CATALINA_HOME=c:\tomcat5
C:\>copy %STRUTS_HOME%\webapps\struts-example.war %CATALINA_HOME%\webapps
1 file(s) copied.
C:\>%CATALINA_HOME%\bin\startup
Using CATALINA_BASE:c:\tomcat5
Using CATALINA_HOME:c:\tomcat5
Using CATALINA_TMPDIR: c:\tomcat5\temp
Using JAVA_HOME:c:\j2sdk1.4.2
所示的最后一个命令,%CATALINA_HOME%\bin\startup,用来启动Tomcat。在Windows下,你将看到Tomcat 在一个单独的终端窗口中启动。在该终端创口中的输出显示已部署的应用和Tomcat的状态相关的信息:
Jun 22, 2004 12:23:34 AM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /struts-example from URL file:c:/tomcat5/webapps/struts-example
Jun 22, 2004 12:23:38 AM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
Jun 22, 2004 12:23:38 AM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
Jun 22, 2004 12:23:40 AM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.webapp.example.AlternateApplicationResources', returnNull=true
Jun 22, 2004 12:23:40 AM org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.webapp.example.ApplicationResources', returnNull=true
Jun 22, 2004 12:23:40 AM org.apache.struts.webapp.example.memory.MemoryDatabasePlugIn init
INFO: Initializing memory database plug in from '/WEB-INF/database.xml'
Jun 22, 2004 12:23:40 AM org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml'
Jun 22, 2004 12:23:41 AM org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validation.xml'
...
Jun 22, 2004 12:23:44 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 80
Jun 22, 2004 12:23:45 AM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Jun 22, 2004 12:23:45 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=20/50config=c:\tomcat5\conf\jk2.properties
Jun 22, 2004 12:23:45 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 49852 ms
你可以用这些书出来检查部署的应用和Tomcat 是否成功启动和运行。在上面的输出中,你可以看到Tomcat 部署了struts-example.war文件。另外,最后一行表示Tomcat 正在运行以及启动所花费的时间。
在Unix/Linux平台上,你可以使用类似的命令:
$ export STRUTS_HOME=/usr/local/jakarta-struts-1.1
$ export CATALINA_HOME=/usr/local/tomcat5
$ cp $STRUTS_HOME/webapps/struts-example.war $CATALINA_HOME/webapps
$ $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE:/usr/local/tomcat5
Using CATALINA_HOME:/usr/local/tomcat5
Using CATALINA_TMPDIR: /usr/local/tomcat5/temp
Using JAVA_HOME:/usr/local/j2sdk1.4.2
Tomcat 将启动为一个后台进程。你可以使用下面的命令来监控Tomcat 的输出:
$ tail -f $CATALINA_HOME/logs/catalina.out
除了不同操作系统之间文件路径的不同,输出将和前面所示的Windows中的输出一样。
将你的浏览器导航至http://localhost:8080/struts-example。你应该能够看到下图中的页面。(Figure 1-1)
Figure 1-1. Struts 示例应用
招式变化使用和试验struts-example web 应用使一个很好的学习Struts的帮助。在你编写第一个Struts 应用之前,你应该理解struts-example应用使如何工作的。这样做的最好方式就是部署这个应用。试验用户接口和体验整个程序。你将希望通过文本编辑器和IDE来一边查看源代码一边遍历整个应用。
你将需要下载Struts binary 和source distributions 来部署struts-example。WAR 文件包含在binary distribution中。而源代码则包括在source distribution中。
除了struts-example应用之外,还有一些示例应用用来演示其他Struts 特征,如表Table 1-1所示。
Table 1-1. Struts 1.1 示例应用
WAR 文件
说明
struts-blank.war
一个样板Struts 应用
struts-documentation.war
Struts 的用户指南和标签库参考文档。
struts-example.war
Struts Mail Reader 示例。演示Struts提供的大部分基本核心特征和功能。
struts-exercise-taglib.war
一个练习Struts 标签库功能的应用。
struts-upload.war
展示如何使用Struts 来支持文件上传。
struts-validator.war
演示Struts中Validator 的使用。
tiles-documentation.war
包括Tiles 文档,示例布局和教程。
Struts 1.2 重新组织了示例应用。Table 1-2列出了包含在Struts 1.2 /webapps目录中的War文件。
Table 1-2. Struts 1.2 示例应用
WAR 文件
说明
struts-blank.war
一个样板Struts 应用
struts-documentation.war
Struts 的用户指南和标签库参考文档。
struts-examples.war
代替了struts-exercise-taglib.war, struts-upload.war, 和struts-validator.war。将标签库、Validator示例和结合到一个应用中。
struts-mailreader.war
Struts Mail Reader 示例。演示Struts提供的大部分基本核心特征和功能。
tiles-documentation.war
包括Tiles 文档,示例布局和教程。
参考第1.1式讨论了如何下载Struts 和几个发布包之间的主要不同之处。