Struts實戰基礎(原創)
發表時間:2024-02-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]//歡迎完整引用、轉載,你可以通過http://www.dev-club.com與我聯系。Struts實踐入門作者:八腳魚1、簡介Struts是apache Jakarta的一個開放元碼的項目(http://jakarta.apache.org/struts/index.html),為開發web應...
//歡迎完整引用、轉載,你可以通過http://www.dev-club.com與我聯系。
Struts實踐入門
作者:八腳魚
1、簡介
Struts是apache Jakarta的一個開放元碼的項目(
http://jakarta.apache.org/struts/index.html),為開發web應用程序提供了一個框架(framework)。Sturts建議我們使用MVC Model 2 的模式開發web應用程序。Sturts提供了Controller層組件,這些組件可以和多種已有Model層和View層技術集成使用。Sturts也可以幫助你建立一個擴展的開發環境。
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規范2.2或更高、jsp規范1.1或更高;建議是使用Tomcat 3.2(http://jakarta.apache.org/tomcat)以上。
XML Parser,支持JAXP規范1.1或更高;推薦使用jaxp的參考實現(http://java.sun.com/xml)。當然也可以是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反射和內省api。
Collections (Version 1.0 or later),提供了一套與java Collections Framework 兼容和擴展的類。
DBCP(version 1.0 or later),數據庫連接和對象池.
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
以如下運行環境為例:
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等任務可以運行
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目錄。
解壓后的目錄結構如下:
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路徑(當你希望使用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 (當你希望使用build中deploy.tomcat的target時才需要配置)
xerces.home - Xerces parser, version 1.2 or 1.3 (re(當你希望使用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 的二進制發行版:
D:\jakarta
-struts-1.1-b1-src -->Struts源碼根目錄
-dist-->Struts 1.1 beta1 的二進制發行版根目錄。
-lib-->Struts應用工程的支持庫
-webapps-->Struts的一些應用工程
-target
lib目錄下是一些Struts的應用工程的支持庫文件:
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目錄下。一定不要用設置classpath的方式包含這些jar,會出現 ClassNotFoundException的異常。
lib/struts-*.tld - Struts 標簽庫描述文件。需要拷貝到web application的WEB-INF目錄下。
webapps目錄下是一些web application的war文件
webapps/struts-blank.war - 創建基于Struts的應用程序的簡要指導
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上發布基于Struts的web應用程序
如果你的appserver是WebLogic 6.0+,那么你可以向使用標準war一樣使用上面的war。我的appserver是WebLogic 6.1 sp2。在其他的appserver上發布Struts的web應用程序參見http://jakarta.apache.org/struts/userGuide/installation.html中"installing Struts with your servlet container"一節。
啟動webLogic,進入控制臺,配置一個新的web application,路徑指向$struts\dist\webapps