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的学习吧···(一个简单的登录)
步骤一:分包(搭好框架)
[img]http://dl.iteye.com/upload/attachment/0079/1500/2b50ac63-779e-3f99-9202-e9bd08dbb84e.png[/img]
步骤二:导入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"。

源码下载请点这里:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值