如何安裝Struts 首先到下載Struts
建議使用release版
現在最高版本為
有多種OS版本(windows
linus
)
下載後解壓開來
可以看到這個目錄
lib和webapps
webapps下有一些WAR文件
假設你的Tomcat裝在c:\Tomcat下
則將那些WAR文件拷貝到C:\Tomcat\webapps
重新啟動Tomcat即可
打開浏覽器
在地址欄中輸入
若能見到
powered by Struts
的深藍色圖標
即說明成功了
這是Struts自帶的一個例子
附有詳細的說明文檔
可以做為初學者的入門教程
另外
Struts還提供了一系統實用對象
XML處理
通過Java reflection APIs自動處理JavaBeans屬性
國際化的提示和消息等
練習做一個實例 一個用戶注冊系統
用戶通過網頁輸入相關信息
注冊ID號
密碼
EMAIL
若注冊成功
則返回成功提示信息
反之出現注冊失敗提示信息
項目建立 正式開發前
需要在Tocmat(我的tomcat裝在c:\tomcat)中建立此項目
比較快的一種建立方式為
在C:\tomcat\webapps下新建目錄test
再將C:\tomcat\webapps\struts
example下的WEB
INF目錄拷貝到test目錄下
然後將test\WEB
INF下的src和classes目錄清空
以及struts
config
xml文件中內容清空即可
這樣
我們需要的Struts類包及相關的配置文件就都齊了
開發時
將JSP文件放在test目錄下
Java原文件放在test\WEB
INF\src下
編譯後的類文件放在test\WEB
INF\classes下
注冊頁面
reguser
jsp
<%@ page contentType=
text/html;charset=UTF
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=
width=
%
>
<tr>
<th align=
right
>
Logname:
</th>
<td align=
left
>
<html:text property=
logname
size=
maxlength=
/>
</td>
</tr>
<tr>
<th align=
right
>
Password:
</th>
<td align=
left
>
<html:password property=
password
size=
maxlength=
/>
</td>
</tr>
<tr>
<th align=
right
>
E
mail:
</th>
<td align=
left
>
<html:password property=
email
size=
maxlength=
/>
</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頁
因為它大量運用了taglib
這些taglib對初學者而言
可能難於掌握
可這卻是Struts的精華之一
靈活運用
將大大提高開發效率
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集中了所有頁面的導航定義
對於大型的WEB項目
通過此配置文件即可迅速把握其脈絡
這不管是對於前期的開發
還是後期的維護或升級都是大有裨益的
掌握Struts
config
xml是掌握Struts的關鍵所在
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類
FormBean是對頁面請求的封裝
即把HTTP request 封裝在一個對象中
需要說明的一點就是多個HTTP request可以共用一個FormBean
便於維護和重用
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
);
/*
取得用戶請求
做相應數據庫操作
略
*/
}
}
FormBean的產生是為了提供數據給ActionBean
在ActionBean中可以取得FormBean中封裝的數據
經相應的邏輯處理後
調用業務方法完成相應業務要求
Servlet的演變
在常規的 JSP
Servlet
JavaBean三層結構中
JSP實現View的功能
Servlet實現Controller的功能
JavaBean實現Model的實現
在Struts中
將常規情況下的Servlet拆分與ActionServlet
FormBean
ActionBean三個部分
ActionServlet配合Struts
config
xml
專職完成頁面導航
而不再負責具體的數據獲取與相應邏輯
這兩部分功能由FormBean和ActionBean來完成
Struts優缺點 優點 Struts跟Tomcat
Turbine等諸多Apache項目一樣
是開源軟件
這是它的一大優點
使開發者能更深入的了解其內部實現機制
除此之外
Struts的優點主要集中體現在兩個方面
Taglib和頁面導航
Taglib是Struts的標記庫
靈活動用
能大大提高開發效率
另外
就目前國內的JSP開發者而言
除了使用JSP自帶的常用標記外
很少開發自己的標記
或許Struts是一個很好的起點
關於頁面導航
我認為那將是今後的一個發展方向
事實上
這樣做
使系統的脈絡更加清晰
通過一個配置文件
即可把握整個系統各部分之間的聯系
這對於後期的維護有著莫大的好處
尤其是當另一批開發者接手這個項目時
這種優勢體現得更加明顯
缺點 Taglib是Struts的一大優勢
但對於初學者而言
卻需要一個持續學習的過程
甚至還會打亂你網頁編寫的習慣
但是
當你習慣了它時
你會覺得它真的很棒
Struts將MVC的Controller一分為三
在獲得結構更加清晰的同時
也增加了系統的復雜度
Struts從產生到現在還不到半年
但已逐步越來越多運用於商業軟件
雖然它現在還有不少缺點
但它是一種非常優秀的J
EE MVC實現方式
如果你的系統准備采用J
EE MVC架構
那麼
不妨考慮一下Struts
Struts實施經驗<
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28757.html