转载时请注明文章出处 : 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>