一、JDK安裝環(huán)境配置
Java環(huán)境配置大全
安裝JDK
從
http://Java.sun.com/
下載jdk-1_5_0_04-windows-i586-p.exe
安裝到指定路徑,我選擇D:\jdk1.5.0
配置環(huán)境變量:
Java_HOME: D:\jdk1.5.0? (注意不能有;也不能有\(zhòng))
PATH: D:\jdk1.5.0\bin;
CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;
D:\jdk1.5.0\jre\lib\rt.jar;
安裝WTK
從
http://Java.sun.com/
下載j2me_wireless_toolkit-2_2-windows.exe
安裝到指定路徑,我選擇D:\WTK22
安裝Eclipse
從
http://www.eclipse.org/
下載eclipse-SDK-3.0.1-win32.zip和
NLpack-eclipse-SDK-3.0.x-win32.zip(語言包)
解壓縮eclipse-SDK-3.0.1-win32.zip即可,我的路徑:D:\MyDevelopTools\eclipse
解壓縮NLpack-eclipse-SDK-3.0.x-win32.zip,得到features和plugins兩個文件夾,把里面的文件分別拷
入eclipse中相應(yīng)的目錄下即可
安裝Tomcat
從
http://jakarta.apache.org/
下載jakarta-tomcat-5.5.9.zip
解壓縮jakarta-tomcat-5.5.9.zip即可
配置環(huán)境變量:
Tomcat_Home: D:\MyDevelopTools\tomcat-5.5.9
PATH: D:\MyDevelopTools\tomcat-5.5.9;
在eclipse中配置J2ME開發(fā)環(huán)境:
安裝eclipseme:
從
http://www.eclipseme.org/
下載eclipseme.feature_0.9.4_site.zip,在eclipse中選擇幫助-〉軟件
更新-〉查找并安裝-〉搜索要安裝的新功能部件-〉新建已歸檔的站點(diǎn)。選擇
eclipseme.feature_0.9.4_site.zip,打開-〉選擇eclipseme.feature_0.9.4_site.zip,剩下的一直下
一步就可以了。安裝完成會在窗口-〉首選項(xiàng)中出現(xiàn)J2ME
修改Java-〉調(diào)試:
選中Java-〉調(diào)試,把暫掛執(zhí)行的前兩項(xiàng)點(diǎn)去,通信中的調(diào)試器超時改為15000
配置WTK
窗口-〉首選項(xiàng)-〉J2ME-〉Platform Components
右鍵單擊對話框右側(cè)的Wireless Toolkit,選擇Add Wireless Toolkit,
選擇WTK安裝目錄,eclipse會自動匹配。
在eclipse中配置J2EE開發(fā)環(huán)境(Tomcat5.5.9):
安裝EMF-RunTime:
從
http://www.eclipseme.org/
下載emf-sdo-runtime-2.0.1.zip
解壓縮emf-sdo-runtime-2.0.1.zip,得到features和plugins兩個文件夾,把里面的文件分別拷入eclipse
中相應(yīng)的目錄下即可。
安裝Lomboz:
從
http://forge.objectweb.org
下載org.objectweb.lomboz_3.0.1.N20050106.zip解壓縮
org.objectweb.lomboz_3.0.1.N20050106.zip,得到features和plugins兩個文件夾,把里面的文件分別拷
入eclipse中相應(yīng)的目錄下。如果在窗口-〉首選項(xiàng)中有Lomboz選項(xiàng)就安裝正確,如果沒有,在
D:\eclipse\configuration\下刪除org.eclipse.update這個文件夾,再重起eclipse就可以了。
配置Lomboz:
在D:\eclipse\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers下新建一個文件tomcat559.server,
里面的內(nèi)容從tomcat50x.server全部復(fù)制過來,把name="Apache Tomcat v5.0.x"替換成name="Apache
Tomcat v5.5.9",然后把所有的
“${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”替換成
“${serverRootDirectory}/common/endorsed”就可以了。然后進(jìn)入eclipse,窗口-〉首選項(xiàng)-〉Lomboz
,把JDK Tools.jar改為:D:\jdk1.5.0\lib\tools.jar,窗口-〉首選項(xiàng)-〉Lomboz-〉Server
Definitions,在Server types中選擇Tomcat5.5.9在Application Server Directory和Classpath
Variable的路徑改為D:/MyDevelopTools/tomcat-5.5.9先應(yīng)用,再確定就可以了。
?
----------------------------------------------
-------
二、tomcat + jsp/ servlet/ javabean 環(huán)境配置
第一步:下載j2sdk和tomcat:到sun官方站點(diǎn)(http://java.sun.com/j2se/1.4.2/download.html)下載
j2sdk,注意下載版本為Windows Offline Installation的SDK,同時最好下載J2SE 1.4.2 Documentation
,然后到tomcat官方站點(diǎn)(
http://www.apache.org/dist/jakarta/tomcat-4/
)下載tomcat(下載最新
4.1.x版本的tomcat);
第二步:安裝和配置你的j2sdk和tomcat:執(zhí)行j2sdk和tomcat的安裝程序,然后按默認(rèn)設(shè)置進(jìn)行安裝即可
。
1.安裝j2sdk以后,需要配置一下環(huán)境變量,在我的電腦->;屬性->;高級->;環(huán)境變量->;系統(tǒng)變量中添加
以下環(huán)境變量(假定你的j2sdk安裝在c:\j2sdk1.4.2):
JAVA_HOME=c:\j2sdk1.4.2
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因?yàn)樗懋?dāng)前
路徑)
path=%JAVA_HOME%\bin
接著可以寫一個簡單的java程序來測試J2SDK是否已安裝成功:
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
將上面的這段程序保存為文件名為Test.java的文件。
然后打開命令提示符窗口,cd到你的Test.java所在目錄,然后鍵入下面的命令?
javac Test.java
java Test?
此時如果看到打印出來This is a test program.的話說明安裝成功了,如果沒有打印出這句話,你需要
仔細(xì)檢查一下你的配置情況。
2.安裝Tomcat后,在我的電腦->;屬性->;高級->;環(huán)境變量->;系統(tǒng)變量中添加以下環(huán)境變量(假定你的
tomcat安裝在c:\tomcat):
CATALINA_HOME=c:\tomcat;
CATALINA_BASE=c:\tomcat;
然后修改環(huán)境變量中的classpath,把tomat安裝目錄下的common\lib下的servlet.jar追加到classpath中
去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%
\common\lib\servlet.jar;
接著可以啟動tomcat,在IE中訪問
http://localhost:8080
,如果看到tomcat的歡迎頁面的話說明安裝成
功了。
第三步:建立自己的jsp app目錄
1.到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples, tomcat-docs之類Tomcat自帶的的目錄
;
2.在webapps目錄下新建一個目錄,起名叫myapp;
3.myapp下新建一個目錄WEB-INF,注意,目錄名稱是區(qū)分大小寫的;
4.WEB-INF下新建一個文件web.xml,內(nèi)容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>;
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"
http://java.sun.com/dtd/web-app_2_3.dtd
">;
<web-app>;
<display-name>;My Web Application</display-name>;
<description>;
A application for test.
</description>;
</web-app>;
5.在myapp下新建一個測試的jsp頁面,文件名為index.jsp,文件內(nèi)容如下:
<html>;<body>;<center>;
Now time is: <%=new java.util.Date()%>;
</center>;</body>;</html>;
6.重啟Tomcat
7.打開瀏覽器,輸入
http://localhost:8080/myapp/index.jsp
看到當(dāng)前時間的話說明就成功了。
第四步:建立自己的Servlet:
1.用你最熟悉的編輯器(建議使用有語法檢查的java ide)新建一個servlet程序,文件名為Test.java,
文件內(nèi)容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html>;<body>;<h1>;This is a servlet test.</h1>;</body>;</html>;");
out.flush();
}
}
2 .編譯
將Test.java放在c:\test下,使用如下命令編譯:
C:\Test>;javac Test.java
然后在c:\Test下會產(chǎn)生一個編譯后的servlet文件:Test.class
3 .將結(jié)構(gòu)test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那
個test目錄到classes目錄下,如果classes目錄不存在,就新建一個。 現(xiàn)在webapps\myapp\WEB-
INF\classes下有test\Test.class的文件目錄結(jié)構(gòu)
4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
編輯后的web.xml如下所示,紅色為添加的內(nèi)容:
<?xml version="1.0" encoding="ISO-8859-1"?>;
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"
http://java.sun.com/dtd/web-app_2_3.dtd
">;
<display-name>;My Web Application</display-name>;
<description>;
A application for test.
</description>;
<servlet>;
<servlet-name>;Test</servlet-name>;
<display-name>;Test</display-name>;
<description>;A test Servlet</description>;
<servlet-class>;test.Test</servlet-class>;
</servlet>;
<servlet-mapping>;
<servlet-name>;Test</servlet-name>;
<url-pattern>;/Test</url-pattern>;
</servlet-mapping>;
</web-app>;
這段話中的servlet這一段聲明了你要調(diào)用的Servlet,而servlet-mapping則是將聲明的servlet“映射”
到地址/Test上
5 .好了,啟動Tomcat,啟動瀏覽器,輸入
http://localhost:8080/myapp/Test
如果看到輸出This is a
servlet test.就說明編寫的servlet成功了。
注意:修改了web.xml以及新加了class,都要重啟Tomcat
第四步:建立自己的Bean:
1.用你最熟悉的編輯器(建議使用有語法檢查的java ide)新建一個java程序,文件名為TestBean.java
,文件內(nèi)容如下:
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}?
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}?
}
2 .編譯
將TestBean.java放在c:\test下,使用如下命令編譯:
C:\Test>;javac TestBean.java
然后在c:\Test下會產(chǎn)生一個編譯后的bean文件:TestBean.class
3 .將TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
4 .新建一個TestBean.jsp文件,文件內(nèi)容為:
<%@ page import="test.TestBean" %>;?
<html>;<body>;<center>;
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>;
Java bean name is: <%=testBean.getName()%>;
</center>;</body>;</html>;?
5 .好了,重啟Tomcat,啟動瀏覽器,輸入
http://localhost:8080/myapp/TestBean.jsp
如果看到輸出
Java bean name is: This is a test java bean.就說明編寫的Bean成功了。
這樣就完成了整個Tomcat下的jsp、servlet和javabean的配置。接下來需要做的事情就是多看書、多讀別
人的好代碼,自己多動手寫代碼以增強(qiáng)自己在這方面開發(fā)的能力了。
----------------------------------------------
-------
三、tomcat + mysql / mssql 環(huán)境配置
jsp+ mysql + tomcat 實(shí)例
不休和尚 發(fā)表于 2005-9-22 18:06:59?
呵呵 一邊忙著準(zhǔn)備補(bǔ)考,一邊慢慢的在弄這些個jsp,快想瘋掉了我。哎呀,,,真是命苦啊。
?這個是關(guān)于連接mysql的代碼,保留一下,方便以后查看吧,要是對你有幫助的話,不用感謝我,呵呵。
因?yàn)槲乙彩窃诰W(wǎng)上搜索整理出來的。只是我的使用過程而已。
???? --------------------------------------------------------------------------------------
------------
?Mysql
下載版本:mysql-4.1.13-win32.zip(Windows downloads)
http://dev.mysql.com/downloads/mysql/4.1.html
JDBC驅(qū)動
下載版本:mysql-connector-java-3.1.10.zip
好象已經(jīng)有 3.2.0出現(xiàn)了哦,不過我還是用了這個版本的。
http://dev.mysql.com/downloads/connector/j/3.1.html
?
?關(guān)于jsdk 的東西就不用說咯。
安裝Mysql
? 別人寫的,抄一下 ^_^
解壓縮mysql-4.1.13-win32.zip,運(yùn)行setup.exe
首先出現(xiàn)的是安裝向?qū)g迎界面,直接點(diǎn)擊“Next”
繼續(xù),選擇安裝類型,選擇“自定義”custom安裝,然后點(diǎn)“Next”下一步,出現(xiàn)自定義安裝界面
選擇安裝路徑:C:\MySQL Server 4.1(可自定義)
點(diǎn)“OK”返回到自定義安裝界面,路徑已改為設(shè)置的路徑
點(diǎn)“Next”,準(zhǔn)備開始安裝
點(diǎn)“Install”開始安裝
完成后出現(xiàn)創(chuàng)建MySQL.com帳號的界面
如果是首次使用MySQL,選“Create anew free MySQL.com accout”
點(diǎn)“Next”,輸入你的Email地址和自己設(shè)定的用于登錄MySQL.com的密碼
填完后點(diǎn)“Next”進(jìn)入第二步
填寫姓名等相關(guān)信息,填完點(diǎn)“Next”,進(jìn)入第三步
填完電話號碼、公司名稱等信息后,點(diǎn)“Next”,
然后出現(xiàn)預(yù)覽你剛才填的信息的界面,點(diǎn)“Next”出現(xiàn)安裝完成界面
注意,這里有個配置向?qū)У倪x項(xiàng)(Configure the MySQL Server now),
建議勾選立即配置你的MySQL。許多說安裝完MySQL后無法啟動,原因就在于沒有配置MySQL。
點(diǎn)擊“Finish”完成安裝,并開始配置MySQL
點(diǎn)“Next”,進(jìn)入配置類型選擇頁面。選“Detailed configuration”(詳細(xì)配置)
點(diǎn)“Next”,進(jìn)入服務(wù)類型選擇頁面。選“Developer Machine”(開發(fā)者機(jī)器),這樣占用系統(tǒng)的資源
不會很多
點(diǎn)“Next”后,進(jìn)入數(shù)據(jù)庫用法選擇頁面。選擇“Multifunctional Database”
點(diǎn)“Next”,進(jìn)入選擇InnoDB數(shù)據(jù)存放位置頁面
不用更改設(shè)置,直接放在Installation Path安裝目錄里即可,然后點(diǎn)“Next”,選擇MySQL的同時聯(lián)接數(shù)
選擇“Manual Setting”,設(shè)置為100(根據(jù)自己需要,酌情設(shè)置)
點(diǎn)“Next”,配置MySQL在TCP/IP通訊環(huán)境中的端口選擇默認(rèn)的3306端口即可。
點(diǎn)“Next”,選擇MySQL中的字符設(shè)置
注意,這里的選擇將會影響你是否能在MySQL中使用中文。選擇gb2312字符集以便支持簡體中文
點(diǎn)“Next”,設(shè)置Windows服務(wù)選項(xiàng)
注意,這里的選擇很關(guān)鍵。
“Install As Windows Service”一定要勾選,這是將MySQL作為Windows的服務(wù)運(yùn)行。
“Service Name”就用默認(rèn)的“MySQL”
下面的“Launch the MySQL Server automatically”一定要勾選,這樣Windows啟動時,MySQL就會自動
啟動服務(wù),要不然就要手工啟動MySQL。
許多人說安裝MySQL后無法啟動、無法連接、出現(xiàn)10061錯誤,原因就在這里。
點(diǎn)“Next”,設(shè)置根帳號root的登錄密碼
“Modify Security Settings”是設(shè)置根帳號的密碼,輸入你設(shè)定的密碼即可。
“Create An Anonymous Account”是創(chuàng)建一個匿名帳號,這樣會導(dǎo)致未經(jīng)授權(quán)的用戶非法訪問你的數(shù)據(jù)
庫,有安全隱患,建議不要勾選。
點(diǎn)“Next”,MySQL配置向?qū)⒁罁?jù)你上面的所有設(shè)定配置MySQL,以便MySQL的運(yùn)行符合你的需要
點(diǎn)“Execute”開始配置,當(dāng)出現(xiàn)“Service started successfully”時,說明你的配置完成,MySQL服務(wù)
啟動成功
點(diǎn)“Finish”完成,整個MySQL的配置完成,剩下的就是用MySQL客戶端連接MySQL服務(wù)器,然后使用了。
安裝JDBC驅(qū)動:
解壓縮mysql-connector-java-3.1.10.zip
將要使用的是mysql-connector-java-3.1.10-bin-g.jar和mysql-connector-java-3.1.10-bin.jar
配置
在C:\Program Files\Java目錄下建立mysqlforjdbc子目錄,進(jìn)入該目錄將mysql-connector-java-
3.1.10-bin.jar到該目錄下
進(jìn)入C:\Program Files\Java\jdk1.5.0_04\lib目錄將mysql-connector-java-3.1.10-bin-g.jar拷貝到該
目錄下
然后配置classpath,追加%JAVA_HOME%\lib\mysql-connector-java-3.1.10-bin-g.jar;C:\Program
Files\Java\mysqlforjdbc\mysql-connector-java-3.1.10-bin.jar;到該環(huán)境變量中去
配置這個的目的是讓java應(yīng)用程序找到連接mysql的驅(qū)動.
還有一點(diǎn)就是不要忘記了把沙鍋難免的兩個驅(qū)動拷貝到tomcat目錄下面哦,否則還是找不到的哦哦哦哦
,因?yàn)槲揖褪怯龅竭^咯,經(jīng)驗(yàn)。 不信自己試
最后就是源代碼咯:
我在Mysql上面建了一個testsql 數(shù)據(jù)庫 表名: test? 共有5個字段
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.* "%>
<html>
<body>
<% Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/testsql";
Connection? conn=DriverManager.getConnection(url,"bonze","");
Statement stmt = conn.createStatement();
String sqlstr="select * from test";
ResultSet rs= stmt.executeQuery(sqlstr);
while(rs.next()){
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(4));
out.println(rs.getString(5));
}
out.println("<br>");
out.print("恭喜~! 打開數(shù)據(jù)庫操作成功!");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
好了就那么多咯
要是成功了 就能看到你數(shù)據(jù)庫里面的東西了撒,呵呵
下次就是關(guān)于一些操作的東西咯,準(zhǔn)備做個簡單點(diǎn)的jsp 網(wǎng)站放出來,丟下人。呵呵
還有, 估計關(guān)于oracle的連接的代碼要等段時間了啊,補(bǔ)考完了再說,還有現(xiàn)在正在上oracle課,呵呵
,老是翹課滴~? 嘿嘿。。。。。。 大肆都這樣,沒辦法哦。。。
?
?
-------------------------------------------------------------------------------------------
---------
四、Jboss
安裝配置Jboss完全篇
1、???????????? Jboss的配置安裝
1.1、????????? Jboss的下載
Jboss的下載地址為:
http://www.jboss.org/
。目前的最新版本是:Jboss2.2.1。建議你下載Jboss2.2.1
和tomcat3.2.1集成的下載包,這樣避免了單個下載后兩者之間配置的問題。下載地址是:
http://prdownloads.sourceforge.net/jboss/JBoss-2.2.1_Tomcat-3.2.1.zip
下載完成后,解壓到一個目錄,這個目錄名為E:\program files\jb_tom(這個目錄名是筆者自定的)。
下面有如下子目錄:
E:\program files\jb_tom\jboss和E:\jb_tom\tomcat
注意:這里的目錄稍微做了改動,建議你將TOMCAT_HOME加到CLASSPATH中,否則E:\program
files\jb_tom\jboss里的run_with_tomcat.bat這個文件要做相應(yīng)改動才能正常運(yùn)行。
1.2、????????? 配置運(yùn)行
在啟動Jboss前應(yīng)該先安裝好JDK,建議安裝JDK1.3以上的版本(目前最新的正式版本是JDK1.3.1),然后
將系統(tǒng)的Classpath設(shè)置好。Jboss不要任何配置和修改,當(dāng)然,最好將TOMCAT_HOME加到Classpath中,這
樣,E:\program files\jb_tom\jboss里的run_with_tomcat.bat這個文件前的TOMCAT_HOME就可以去掉了
。
運(yùn)行E:\program files\jb_tom\jboss里的run_with_tomcat.bat這個文件,這樣,Tomcat端口在8080,
Jboss為8083,運(yùn)行
http://localhost:8080/
將出現(xiàn)tomcat首頁,運(yùn)行
http://localhost:8083/
將出現(xiàn)無
錯誤的空白頁。
2、???????????? 測試EJB
2.1、????????? 啟動JBOSS:
方法么,這里就不多作描述了,因?yàn)榍懊嬉呀?jīng)寫過了^&^。
2.2、????????? 下載并配置EJB例程
到
http://www.wodejia.net/softdownload/java/interestejb.zip
下載interestejb.zip,這就是我們用
于測試的EJB例程。將壓縮包解開,出現(xiàn)如下目錄:
interest/com
interest/docs
……
將該目錄下所有文件全部copy到j(luò)boss安裝目錄下的examples目錄下,如果沒有examples目錄,就自己建
立一個,結(jié)構(gòu)如下:
E:\ program files\jb_tom \jboss\examples\interest...
將文件E:\program files\jb_tom\jboss\examples\interest\interest.jar復(fù)制到:E:\program
files\jb_tom\jboss\deploy下。
在Classpath中加入如下文件:e:\program files\jb_tom\tomcat\lib\servlet.jar;e:\program
files\jb_tom\jboss\client\jboss-client.jar;e:\program files\jb_tom\jboss\client\jnp-
client.jar;e:\program files\jb_tom\jboss\lib\ext\ejb.jar;e:\program
files\jb_tom\jboss\examples\interest\interest-client.jar
為了測試Client通過servlet調(diào)用EJB,必須將: E:\program files\jb_tom\jboss\examples\interest下
EJB.class和EJB.java復(fù)制到:
E:\program files\jb_tom\tomcat\webapps\ROOT\WEB-INF\classes目錄下
將目錄E:\jb_tom\jboss\examples\interest\com以及此下的所有文件都復(fù)制到E:\program
files\jb_tom\tomcat\webapps\ROOT\WEB-INF\classes下。
重新啟動JBOSS_TOMCAT。
2.3、????????? command下client測試運(yùn)行:
command下,進(jìn)入目錄E:\ program files\jb_tom\jboss\examples\interest
java InterestClient
將出現(xiàn):
Got context
Got reference
Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023
Jboss窗口將出現(xiàn):
[Interest] Someone called `calculateCompoundInterest!'
2.4、????????? web下client通過Servlet測試運(yùn)行:
http://localhost:8080/servlet/EJB
將出現(xiàn):
Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023
Jboss窗口將出現(xiàn):
[Interest] Someone called `calculateCompoundInterest!'
到此已經(jīng)成功了。
注意:這里將JBoss-2.2.1_Tomcat-3.2.1.zip解壓后復(fù)制到E:\program files\jb_tom目錄下。
------------------------------------------------------------------------------------------
五、Struts
Java:Struts入門初步知識
?
1.如何安裝Struts:
首先到
http://jakarta.apache.org/Struts
下載Struts,建議使用release版,現(xiàn)在最高版本為1.2.6
,有多種OS版本(windows,linus...),下載后解壓開來,可以看到這個目錄:lib和webapps,webapps下有
一些WAR文件。假設(shè)你的Tomcat裝在c:\Tomcat下,則將那些WAR文件拷貝到C:\Tomcat\webapps,重新啟動
Tomcat即可。打開瀏覽器,在地址欄中輸入:
http://localhost:8080/Struts-example/index.jsp
,若能
見到“powered by Struts”的深藍(lán)色圖標(biāo),即說明成功了。這是Struts自帶的一個例子,附有詳細(xì)的說
明文檔,可以做為初學(xué)者的入門教程。另外,Struts還提供了一系統(tǒng)實(shí)用對象:XML處理、通過Java
reflection APIs自動處理JavaBeans屬性、國際化的提示和消息等
2.練習(xí)做一個實(shí)例:
一個用戶注冊系統(tǒng),用戶通過網(wǎng)頁輸入相關(guān)信息:注冊ID號,密碼,EMAIL,若注冊成功,則返回成
功提示信息,反之出現(xiàn)注冊失敗提示信息。?
項(xiàng)目建立:
正式開發(fā)前,需要在Tocmat(我的tomcat裝在c:\tomcat)中建立此項(xiàng)目。比較快的一種建立方式為
:在C:\tomcat\webapps下新建目錄test,再將C:\tomcat\webapps\struts-example下的WEB-INF目錄拷貝
到test目錄下,然后將test\WEB-INF下的src和classes目錄清空,以及struts-config.xml文件中內(nèi)容清
空即可。這樣,我們需要的Struts類包及相關(guān)的配置文件就都齊了。
開發(fā)時,將JSP文件放在test目錄下,Java原文件放在test\WEB-INF\src下,編譯后的類文件放在
test\WEB-INF\classes下。
注冊頁面:reguser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"
%>
<%@ taglib uri="/WEB-INF/Struts-bean.tld" prefix="bean"
%>
<%@ taglib uri="/WEB-INF/Struts-html.tld" prefix="html"
%>
<html:html locale="true">
<head>
<title>RegUser</title>
<html:base/>
</head>
<body bgcolor="white">
<html:errors/>
<html:form action="/regUserAction" focus="logname">
<table border="0" width="100%">
<tr>
<th align="right">
Logname:
</th>
<td align="left">
<html:text property="logname" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
Password:
</th>
<td align="left">
<html:password property="password" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
E-mail:
</th>
<td align="left">
<html:password property="email" size="30" maxlength="50"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit" value="Submit"/>
</td>
<td align="left">
<html:reset/>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
此JSP頁面不同于普通的JSP頁,因?yàn)樗罅窟\(yùn)用了taglib,這些taglib對初學(xué)者而言,可能難于掌握
,可這卻是Struts的精華之一。靈活運(yùn)用,將大大提高開發(fā)效率。
Struts-config.xml:
<Struts-config>
<form-beans>
<form-bean name="regUserForm"
type="org.cjea.Struts.example. RegUserForm "/>
</form-beans>
<action-mappings>
<action path="/regUserAction"
type=" org.cjea.Struts.example.RegUserAction "
attribute=" regUserForm "
scope="request"
validate="false">
<forward name="failure" path="/ messageFailure.jsp"/>
<forward name="success" path="/ messageSuccess.jsp"/>
?
Struts的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,
Struts-config.xml集中了所有頁面的導(dǎo)航定義。對于大型的WEB項(xiàng)目,通過此配置文件即可迅速把握其脈
絡(luò),這不管是對于前期的開發(fā),還是后期的維護(hù)或升級都是大有裨益的。掌握Struts-config.xml是掌握
Struts的關(guān)鍵所在。
FormBean:RegUserForm
package org.cjea.Struts.example;
import javax.Servlet.http.HttpServletRequest;
import org.apache.Struts.action.ActionForm;
import org.apache.Struts.action.ActionMapping;
public final class RegUserForm extends ActionForm{
private String logname;
private String password;
private String email;
public RegUserForm(){
logname = null;
password = null;
email = null;
}
public String getLogName() {
return this.logname;
}
public void setLogName(String logname) {
this.logname = logname;
}
public void setPassWord(String password) {
this.password = password;
}
public String getPassWord() {
return this.password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
}
public void reset(ActionMapping mapping, HttpServletRequest request)
{
logname = null;
password = null;
email = null;
}
}
每一個FormBean 都必須繼承ActionForm類,F(xiàn)ormBean是對頁面請求的封裝。即把HTTP request 封裝
在一個對象中,需要說明的一點(diǎn)就是多個HTTP request可以共用一個FormBean,便于維護(hù)和重用。
ActionBean:RegUserAction
package org.cjea.Struts.example;
import javax.Servlet.http.*;
import org.apache.Struts.action.*;
public final class RegUserAction extends Action
{
public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
String title = req.getParameter("title");
String password = req.getParameter("password");
String email = req.getParameter("email");
/*
取得用戶請求,做相應(yīng)數(shù)據(jù)庫操作,略
*/
}
}
FormBean的產(chǎn)生是為了提供數(shù)據(jù)給ActionBean,在ActionBean中可以取得FormBean中封裝的數(shù)據(jù),經(jīng)
相應(yīng)的邏輯處理后,調(diào)用業(yè)務(wù)方法完成相應(yīng)業(yè)務(wù)要求。
Servlet的演變:在常規(guī)的 JSP,Servlet,JavaBean三層結(jié)構(gòu)中,JSP實(shí)現(xiàn)View的功能,Servlet實(shí)現(xiàn)
Controller的功能,JavaBean實(shí)現(xiàn)Model的實(shí)現(xiàn)。
在Struts中,將常規(guī)情況下的Servlet拆分與ActionServlet、FormBean、ActionBean三個部分。
ActionServlet配合Struts-config.xml,專職完成頁面導(dǎo)航,而不再負(fù)責(zé)具體的數(shù)據(jù)獲取與相應(yīng)邏輯,這
兩部分功能由FormBean和ActionBean來完成。
3.Struts優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn)。使開發(fā)者能更
深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。
除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,
靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,
很少開發(fā)自己的標(biāo)記,或許Struts是一個很好的起點(diǎn)。
關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過
一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一
批開發(fā)者接手這個項(xiàng)目時,這種優(yōu)勢體現(xiàn)得更加明顯。
缺點(diǎn):
Taglib是Struts的一大優(yōu)勢,但對于初學(xué)者而言,卻需要一個持續(xù)學(xué)習(xí)的過程,甚至還會打亂你網(wǎng)頁
編寫的習(xí)慣,但是,當(dāng)你習(xí)慣了它時,你會覺得它真的很棒。
Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復(fù)雜度。
Struts從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運(yùn)用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點(diǎn),但
它是一種非常優(yōu)秀的J2EE MVC實(shí)現(xiàn)方式,如果你的系統(tǒng)準(zhǔn)備采用J2EE MVC架構(gòu),那么,不妨考慮一下
Struts。
4.Struts實(shí)施經(jīng)驗(yàn):
1)、基于Struts架構(gòu)的項(xiàng)目開發(fā),首先需要有一個很好的整體規(guī)劃,整個系統(tǒng)中包括哪幾個模塊,每
個模塊各需要多少FormBean和ActionBean等,而且最好有專人負(fù)責(zé)Struts-config.xml的管理。開發(fā)基于
Struts的項(xiàng)目的難點(diǎn)在于配置管理,尤其是對Struts-config.xml的管理。
2)、如果你的項(xiàng)目非常緊,并且項(xiàng)目組中又沒有富有經(jīng)驗(yàn)的Struts開發(fā)人員,建議不要冒然采用
Struts。Struts的掌握需要一個過程,對于一個熟練的JSP程序員,自學(xué)大概需要半個月左右的時間。如
果結(jié)合titls,則需要更長的時間。
3)、如果你在網(wǎng)頁中大量運(yùn)用taglib,那么你的美工將做出部分犧牲。當(dāng)你結(jié)合Tiles,功能增強(qiáng)的
同時,這種犧牲尤為明顯。當(dāng)然,你對功能和美觀的取舍由你自己決定。
4)、Taglib是一個好東西,但靈活運(yùn)用它卻需要一個過程,如果你不想在Taglib上花太多的時間,那
么只需理解與FORM有關(guān)的幾個標(biāo)記,其它的標(biāo)記就放著吧,以后再看,先去研究ActionServlet和Struts
-config.xml,你會覺得很有成就感。
5)、Struts是否只適合于大型項(xiàng)目呢?No!Struts適合于各種大小的項(xiàng)目,當(dāng)然,對于大型項(xiàng)目,它
所體現(xiàn)出來的優(yōu)勢更加明顯。