轉載時請註明文章出處 : http://blog.csdn.net/ctojxzsycztao 作者 : ctojxzsycztao 上一編文章寫的太突然了,沒有考濾到朋友們對struts2 的瞭解,就埋下了伏筆,真不好意思,因爲本人對struts2的理解有限,所以也只能做簡單介紹,還請各位讀友多多見解.
Struts2簡單介紹 : struts2與struts1.x的最大區別在於,struts1.x需要繼承 Action 而struts2不需繼承任何類,是一個完整的POJO,更方便擴展,調試,struts1.x 的Action 就難以調試,它的狀態完全由struts1.x 容器進行管理,struts2 吸收webwork2的優點,是struts1.2和webwork2 強強聯合的精華,集合了spring 的 ioc/di思想. 其最大的優點在於Action 不用再繼承Action,方法名也不再是限於execute,可以任由開發人員定義,每個方法都返回一個String ,方便調試 便於脫離Struts2框架
開發環境: tomcat5.5.20 和 jdk1.5 及以上:
Struts2 的開發過程 : 一 . 首先到 http://struts.apache.org/ 下載所需要的開發包,其中包括以下jar文件:commons-logging-1.1.jar , freemarker-2.3.8.jar , ognl-2.6.9.jar , struts2-api-2.0.5.jar , struts2-core-2.0.5.jar , xwork-2.0.0.jar , 二. jar 包下載下來應包含以上 jar 文件 , 將這些 jar 文件copy到工程項目的 lib 目錄下, 三 . 添加一個action , 一個完整的 action 如下:
private String userName;
private String password;
private static final String SUCCESS = "success";
private static final String ERROR = "error";
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserName() {
return userName;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public String login() throws Exception{
if(this.getUserName().equals("chentao") && this.getPassword().equals("chentao")) {
return SUCCESS;
}
return ERROR;
}
}
二. 在classpath的根目錄下添加 struts.xml,struts.xml 文件內容如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- name包名一定要唯一 namespace是確定的url前綴 extends 是設置struts2的初始化環境 -->
<package name="userManager" namespace="" extends="struts-default">
<!-- name是客戶端提交的路徑,class需要調用的action method 調用的方法 -->
<action name="login" class="action.UserAction" method="login">
<!-- result 根據響應狀態轉發到相對的頁面 -->
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
<filter-name>webwork</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>用戶登錄</title>
<head>
<body>
<s:form action="login">
用戶名:<s:textField name="userName"/><br />
密 碼:<s:textField name="pwd"/> <br />
<s:submit value="login"/>
</s:form>
</body>
</html>