Struts實戰(zhàn)基礎(chǔ)(原創(chuàng))
發(fā)表時間:2024-06-14 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]//歡迎完整引用、轉(zhuǎn)載,你可以通過http://www.dev-club.com與我聯(lián)系。Struts實踐入門作者:八腳魚1、簡介Struts是apache Jakarta的一個開放元碼的項目(http://jakarta.apache.org/struts/index.html),為開發(fā)web應(yīng)...
//歡迎完整引用、轉(zhuǎn)載,你可以通過http://www.dev-club.com與我聯(lián)系。
Struts實踐入門
作者:八腳魚
1、簡介
Struts是apache Jakarta的一個開放元碼的項目(
http://jakarta.apache.org/struts/index.html),為開發(fā)web應(yīng)用程序提供了一個框架(framework)。Sturts建議我們使用MVC Model 2 的模式開發(fā)web應(yīng)用程序。Sturts提供了Controller層組件,這些組件可以和多種已有Model層和View層技術(shù)集成使用。Sturts也可以幫助你建立一個擴展的開發(fā)環(huán)境。
2、安裝
2.1.下載struts 源代碼和支持庫
在本文中使用的是Struts 1.1 beta1 版。下載:jakarta-struts-1.1-b1-src.zip,jakarta-struts-1.1-b1-lib.zip
2.2.軟件需求
安裝Struts,尤其是使用源代碼build Struts時需要大量的支持軟件。
安裝Struts是所需要的軟件
JDK,1.2版本或更高(http://java.sun.com/j2se)
Servlet Container,支持servlet規(guī)范2.2或更高、jsp規(guī)范1.1或更高;建議是使用Tomcat 3.2(http://jakarta.apache.org/tomcat)以上。
XML Parser,支持JAXP規(guī)范1.1或更高;推薦使用jaxp的參考實現(xiàn)(http://java.sun.com/xml)。當(dāng)然也可以是Xercers(http://xml.apache.org/xerces-j)。
以下為從源代碼build Struts所需要的軟件
Ant Build system, 大名鼎鼎的ant,1.4版本以上。(http://jakarta.apache.org/ant)。
Servlet API classes, http://jakarta.apache.org/builds/jakarta-servletapi
JDBC 2.0 Optional Package Classes ,Struts 支持javax.sql.DataSource(http://java.sun.com/products/jdbc/download.html)
Jakarta Commons Packages,Struts使用了Jakarta Common Project的一些包:
Beanutils (Version 1.0 or later),提供了易用的java反射和內(nèi)省api。
Collections (Version 1.0 or later),提供了一套與java Collections Framework 兼容和擴展的類。
DBCP(version 1.0 or later),數(shù)據(jù)庫連接和對象池.
Logging(version 1.0 or later),日志
POOL(version 1.0 or later),
SERVICES(version 1.0 or later)
VALIDATOR(version 1.0 or later),
Digester (Version 1.0 or later),xml-java對象映射工具,通常用于解析xml配置文件。
(http://jakarta.apache.org/commons)
Xalan XSLT Processor ,你可以使JAXP 1.1所帶的xalan.jar,也可以使用Xalan 1.2或更高版本(http://xml.apache.org/xalan)。
2.3用原碼build Struts
以如下運行環(huán)境為例:
OS:windows2000,
jdk:j2sdk1.3,
ant:ant1.4.1,
XML Parser:Xalan2.3.1,
Xalan XSLT Processor:Xereses2.0.1
確保ant,Xalan,Xereses工作正常
注意事項:1.ant 的 style等任務(wù)可以運行
2.3.1.解壓jakarta-struts-1.1-b1-src.zip到D:\jakarta\struts-1.1-b1-src目錄。
解壓jakarta-struts-1.1-b1-lib.zip到D:\jakarta\struts-1.1-b1-src\lib目錄。
解壓后的目錄結(jié)構(gòu)如下:
D:\jakarta
-struts-1.1-b1-src -->struts源碼根目錄
-conf
-contrib
-doc
-legacy
-lib-->struts的支持庫
-src
-target
-web
D:\jakarta\struts-1.1-b1-src是struts源碼根目錄,下文用$struts表示“D:\jakarta\struts-1.1-b1-src"。
D:\jakarta\struts-1.1-b1-src\lib是struts的支持庫目錄,下文用$struts_lib表示"D:\jakarta\struts-1.1-b1-src\lib"。該目錄下包含commons-beanutils.jar,commons-collection.jar...等java類庫,這些jar是build Struts所必需的。雖然你可以按2.2中給出的地址下載安裝這些jar,但可能會很麻煩(有些只有src,你還需要build)。
2.3.2建立build.properties
$struts\build.properties.sample另存為$struts\build.properties修改下列屬性:
catalina.home - 你的tomcat 4.0路徑(當(dāng)你希望使用build中deploy.catalina的target時才需要配置)
commons-beanutils.jar - BeanUtils package JAR 路徑commons-beanutils.jar=$struts_lib/commons-beanutils.jar(一定用絕對路徑,因為在Struts有多個build,如使用相對路徑,一些build會失敗。以下相同)
commons-collections.jar - Collections package JAR 路徑
commons-collections.jar=$struts_lib/commons-collections.jar
commons-dbcp.jar - DBCP package JAR 路徑
commons-dbcp.jar=$struts_lib/commons-dbcp.jar
Digester package JAR 路徑
commons-digester.jar=$struts_lib/commons-digester.jar
Logging package JAR 路徑
commons-logging.jar=$struts_lib/commons-logging.jar
POOL package JAR 路徑
commons-pool.jar=$struts_lib/commons-pool.jar
SERVICES package JAR 路徑
commons-services.jar=$struts_lib/commons-services.jar
VALIDATOR package JAR 路徑
commons-validator.jar=$struts_lib/commons-validator.jar
Jakarta Regexp package JAR 路徑
regexp.jar=D:/jakarta/regexp-1.2/jakarta-regexp-1.2.jar(如果沒有這個jar,可以到http://jakarta.apache.org/下載)
JDBC 2.0 Optional Package JAR 路徑
jdbc20ext.jar=$struts_lib/jdbc2_0-stdext.jar
Servlet API classes (either version 2.2 or 2.3) JAR 路徑
servlet.jar=D:/j2sdkee1.2.1/lib/j2ee.jar
tomcat.home - Tomcat 3.2 (當(dāng)你希望使用build中deploy.tomcat的target時才需要配置)
xerces.home - Xerces parser, version 1.2 or 1.3 (re(當(dāng)你希望使用build中deploy.catalina的target時才需要配置)
2.3.3.build Struts
在DOS命令符下運行:ant dist
D:\jakarta\struts-1.1-b1-src>ant dist
build 成功后得到Struts 1.1 beta1 的二進制發(fā)行版:
D:\jakarta
-struts-1.1-b1-src -->Struts源碼根目錄
-dist-->Struts 1.1 beta1 的二進制發(fā)行版根目錄。
-lib-->Struts應(yīng)用工程的支持庫
-webapps-->Struts的一些應(yīng)用工程
-target
lib目錄下是一些Struts的應(yīng)用工程的支持庫文件:
lib/commons-*.jar - Jakarta Commons project jar
(weblogc6.1 sp2 下不把commons-logging.jar放在wl 的 classpath,會出錯,郁悶ing。)
lib/jdbc2_0-stdext.jar - The JDBC 2.0 Optional Package API classes
lib/struts.jar - This JAR file contains all of the Java classes included in Struts. 你必須把struts.jar拷貝到每一個基于Struts的web application的WEB-INF/lib目錄下。一定不要用設(shè)置classpath的方式包含這些jar,會出現(xiàn) ClassNotFoundException的異常。
lib/struts-*.tld - Struts 標簽庫描述文件。需要拷貝到web application的WEB-INF目錄下。
webapps目錄下是一些web application的war文件
webapps/struts-blank.war - 創(chuàng)建基于Struts的應(yīng)用程序的簡要指導(dǎo)
webapps/struts-documentation.war - Struts 文檔。
webapps/struts-example.war - 展示大部分Struts特點的例子。
webapps/struts-exercise-taglib.war - 一些使用Struts標簽庫和測試。
webapps/struts-template.war - Struts 模板標簽介紹和示例。
webapps/struts-upload.war - 用Struts框架寫的文件上傳。
2.4在appserver上發(fā)布基于Struts的web應(yīng)用程序
如果你的appserver是WebLogic 6.0+,那么你可以向使用標準war一樣使用上面的war。我的appserver是WebLogic 6.1 sp2。在其他的appserver上發(fā)布Struts的web應(yīng)用程序參見http://jakarta.apache.org/struts/userGuide/installation.html中"installing Struts with your servlet container"一節(jié)。
啟動webLogic,進入控制臺,配置一個新的web application,路徑指向$struts\dist\webapps