struts官方网址: 
  
    http://struts.apache.org
  
  
  
1.新建web工程,导入基本的5个jar包:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
  
  
2.配置web.xml过滤器
  
3.新建Action(LoginAction),它是一个POJO
  
  
4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件
<result>节点的name属性若不写,则默认为name="success"
  
5.login.jsp页面
成功页面success.jsp 失败页面error.jsp 省略
  
对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
  
  
2.struts.xml中添加一个新的action
  
<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
  
3.login.jsp中使用struts2的标签
先导入标签库:
使用标签:
  
  
   
  
  
 1.新建web工程,导入基本的5个jar包:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
2.配置web.xml过滤器
    
<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>
  
  3.新建Action(LoginAction),它是一个POJO
    
package com.test.bean;
public class LoginAction {
	private String username;
	private String password;
	
	// setter和getter ...
	
	//Action中的处理方法
	public String execute(){
		if( "yueyan".equals(this.getUsername().trim()
                        && "123".equals(this.getPassword().trim())) {
			return "success";
		}else{
			return "error";
		}	
	}
}
  
  4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件
    
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="struts2" extends="struts-default">
		<action name="login" class="com.test.struts2.action.LoginAction">
			<result >/success.jsp</result>
			<result name="error">/error.jsp</result>
                  </action>
	</package>
</struts>
  
  <result>节点的name属性若不写,则默认为name="success"
5.login.jsp页面
    
    <form action="login.action" method="post"> 
    	用户名:<input type="text" name="username" /><br>
    	密码:<input type="password" name="password" /><br>
    	<input type="submit">
    </form>
  
  成功页面success.jsp 失败页面error.jsp 省略
对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
    
package com.test.struts2.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction2 extends ActionSupport {
	private String username;
	private String password;
		
	//  setter和getter
	
   /** 处理 */
	@Override
	public String execute(){
		if( "yueyan".equals(this.getUsername().trim())
                       && "123".equals(this.getPassword().trim()) ){
			return "success";
		}else{
			return "error";
		}	
	}
	
   /** 验证 */
	@Override
	public void validate() {
		if( "".equals(this.getUsername().trim()) ){
		  this.addFieldError("username", "用户名为空");//给字段添加错误信息
		}
		if( "".equals(this.getPassword().trim()) ){
		  this.addFieldError("password", "密码为空");
		}
	}
}
  
  2.struts.xml中添加一个新的action
    
<action name="login2" class="com.test.struts2.action.LoginAction2">
			<result >/success.jsp</result>
			<result name="error">/error.jsp</result>
			<result name="input">/login.jsp</result>
		</action>
  
  <result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
3.login.jsp中使用struts2的标签
先导入标签库:
    <%@ taglib prefix="s" uri="/struts-tags" %>
  
  使用标签:
    <s:form action="login2">
    	<s:textfield name="username" label="用户名" />
    	<s:password name="password" label="密  码" />
    	<s:submit label="提交" />
    </s:form>
  
   
  


 
					 
					