struts2从零开始(一)

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
    所以在学习struts2的时候我们不能简单的认为struts2是struts1的升级版本,我们智能把它当作一个全新的框架来学习,当然假如你以前学习过webwork那么相信你学习struts2是很容易上手的。
    下面就让我们开始struts2的学习吧···(一个简单的登录)
     步骤一:分包(搭好框架)    
    
    步骤二:导入struts2开发所需要的jar包
    步骤三:在src下新建一个struts.xml文件(开头的dtd可以在 导入的struts2-core-2.0.14.jar包中的struts-2.0.dtd中找到)
     
<?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="mypackage" extends="struts-default">
	       <action name="login" class="cn.zhuojingxinxi.web.LoginAction">
	         <result name="sucess">/sucess.jsp</result>
	       </action>
	    </package>
	
	</struts>

    步骤四:在 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>

    步骤五:编写实体类(代码如下)
      
package cn.zhuojingxinxi.entity;

public class Person {
	private String pname;
	private int page;
	
	public String getPname() {
		return pname;
	}
	public void setPname(String pname) {
		this.pname = pname;
	}
	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	

}

   步骤六:编写action(由于struts2不同于struts1它没有action与form,所有的东西都写在一个action中,为了代码简洁所以步骤五中编写了一个实体类,在这个action中struts2默认是将实体对象new出来的,而在struts1中必须手动new)
  
package cn.zhuojingxinxi.web;
import cn.zhuojingxinxi.entity.Person;

public class LoginAction {
	
	private Person person=null;
	
	
	public Person getPerson() {
		return person;
	}


	public void setPerson(Person person) {
		this.person = person;
	}


	public String execute(){
		System.out.println("进来了····");
		
		
		return "sucess";
		
	}

}

     步骤七:编写登录页面(代码如下)
  
<body> 
         <form action="login.action" method="post">
              姓名:<s:textfield name="person.pname"></s:textfield><br/>
           年龄:<s:textfield name="person.page"></s:textfield>
           <s:submit value="提交"></s:submit>
         
         </form>
         
  </body>

   
           编写成功页面(代码如下)
      
<body>
       <center>
             <h1>登录成功</h1>
             ${person.pname }
             ${person.page }
       
       </center>

     
  </body>


  注:需要注意的是
      1.由于使用的是实体对象,登录页面相应的文本框的name必须是对象名.属性。
      2.在struts.xml中package节点必须加上extends="struts-default"。

  源码下载请点这里:
   

猜你喜欢

转载自1136051009.iteye.com/blog/1768000