转载时请注明文章出处 : 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 /><!--这个地方应该是password,我没有去验证-->
< s:submit value ="login" />
</ s:form >
</ body >
</ html >