Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(jsp)技术的Web应用时更加轻易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现,因此可以很好的运行在Apusic应用服务器上。本文就将介绍如何在Apusic上安装Struts。Struts是jakarta项目的一个子项目,发布版和源代码可用从http://jakarta.apache.org/struts/index.Html获得。
安装的先决条件
Struts发布版需要其他三个软件包首先被安装。你的系统可能已经安装了这些软件包。假如你要编译Struts的源代码,那么就需要获得并安装另外一些软件包。完整的列表如下:
? Java Development Kit--必须首先下载并安装Java Development Kit。Struts需要JDK1.2或更高版本,可以从http://java.sun.com/j2se下载。假如已经安装了Apusic2.0,那么就包含了JDK1.3或JDK1.4。
?Servlet容器--必须下载并安装Servlet容器。Struts要求这个Servlet容器实现Servlet规范2.2或更高版本和JavaServer Pages (JSP)规范1.1或更高版本。Apusic2.0完全实现了Servlet2.3和JavaServer Pages (JSP)1.2,非常适合。Apusic可以从http://www.apusic.com/prodUCt/download.jsp获得。
?Ant--假如你希望编译Struts的源代码,那么就必须下载并安装Ant1.3或更高版本。可以从http://jakarta.apache.org/ant/index.html下载获得。假如你使用的是Ant1.3,那么还需要去下载"optional.jar"文件,用来实现Ant的<style命令。把ANT_HOME/bin目录加入到系统的环境变量PATH中使ant和ant.bat脚本可用。
?Servlet API 类--为了编译Struts自身,或者应用程序使用了Struts,那么你需要包含Servlet API和JSP API类文件的jar。假如已经安装了Apusic,那么APUSIC_HOME/lib目录下的apusic.jar就为你所需要的文件。
?JDBC 2.0可选包--Struts支持JDBC可选的实现javax.sql.DataSource。安装了Apusic就已经包含了这个包。
?XML解析器--Struts需要兼容Java API for XML Parsing (JAXP)的XML解析器。Apusic 内置的XML解析器支持SAX2 和DOM Level 2 应用编程接口,支持命名空间, 提供对XML高效的处理。
?XSLT处理器--假如你希望编译Struts源代码,那么就需要下载并安装XSLT处理器。APUSIC_HOME/lib/ apxml.jar中已经包含了XSLT处理器。
通过上面的列表,我们知道了要安装Struts所需要的先决条件。假如只是想在Apusic上使用Struts,那么步骤就非常简单:下载并安装Apusic即可!
安装Struts
首先下载Struts的二进制发布版,然后确定你已经安装好了Apusic服务器。
把下载的Struts发布版解压到一个确定的目录,包含如下的内容:
?lib/struts.jar--这个jar文件包含了所有的Struts Java类。这个文件应该拷贝到web应用的WEB-INF/lib目录下。假如你的多个web应用都使用了Struts,就可以考虑把struts.jar放到一个共享的地方。例如同一个企业应用ear中包含的多个web应用都使用了Struts,可以把struts.jar解开以目录的形式直接ear应用的根目录下。
?lib/struts*.tld--标记库描述文件,用来描述Struts中使用的自定义标记。这些文件应该被拷贝到web应用的WEB-INF目录下。
?webapps/struts-blank.war--这是一个简单的war的文件。可以作为构建你自己的基于Struts的Web应用的一个起点。
?webapps/struts-documentation.war--这是一个war文件,包含了所有的Struts文档。可以把这个应用部署到Apusic上。
?webapps/struts-example.war--这是一个范例web应用,使用了很多Struts特性。可以把这个应用部署到Apusic上运行。
?webapps/struts-exercise-taglib.war--这个应用包含了测试页面,用来测试Struts中定义的标记库。
?webapps/struts-template.war--这个web应用介绍和示范了Struts模版标记。
?webapps/struts-upload.war--这个web应用展示了一个简单的文件上传的例子。
假如你在Web应用中使用Struts,需要以下几个步骤:
1. 拷贝lib/struts.jar文件到web应用的WEB-INF/lib目录下。
2. 拷贝所有的lib/struts*.tld文件到web应用的WEB-INF目录下。
3. 修改web应用的WEB-INF/web.xml文件。增加<servlet标签来定义"控制servlet"和<servlet-mapping标签来建立这个Servlet的请求URL映射。可以参考范例应用中WEB-INF/web.xml的语法。
4. 修改web应用的WEB-INF/web.xml文件,增加标记库描述:
<taglib
??<taglib-uri/WEB-INF/struts-bean.tld</taglib-uri
??<taglib-location/WEB-INF/struts-bean.tld</taglib-location
</taglib
<taglib
??<taglib-uri/WEB-INF/struts-html.tld</taglib-uri
??<taglib-location/WEB-INF/struts-html.tld</taglib-location
</taglib
<taglib
??<taglib-uri/WEB-INF/struts-logic.tld</taglib-uri
??<taglib-location/WEB-INF/struts-logic.tld</taglib-location
</taglib
<taglib
??<taglib-uri/WEB-INF/struts-template.tld</taglib-uri
??<taglib-location/WEB-INF/struts-template.tld</taglib-location
</taglib
5. 创建WEB-INF/struts-config.xml文件,定义动作映射和其他应用相关的特性。可以参考范例应用中WEB-INF/ struts-config.xml的语法。
6. 在每一个需要使用Struts标记库的JSP页面的开始处增加标记库声明,宣告这个页面将使用到的Struts标记库。例如:
<@ taglib uri="/WEB-INF/struts-bean.tld" prefix="struts-bean" %
<@ taglib uri="/WEB-INF/struts-html.tld" prefix="struts-html" %
<@ taglib uri="/WEB-INF/struts-logic.tld" prefix="struts-logic" %
<@ taglib uri="/WEB-INF/struts-template.tld" prefix="struts-template" %
7. 当编译应用的Java类时,确定struts.jar在CLASSPATH中。