struts2 的一二三

最近由于项目需要,对strusts2做了一些学习。和大家分享下学习的心得。
发现struts2和webwork有着惊人的相似。struts2其实用的还是webwork包里的拦截器。原理上来说struts2是对http请求在容器的filter层做了拦截。并且对servlet层做了包装。我们可以不需要提供serlet了,而是只要提供一个方法就可以了。只要方法符合它的要求就可以了。其实要求也比较宽泛,只要方法返回一个字符串,如果需要传递数据,则提供一个数据容器bean及bean的属性代理方法。这样子就可以和页面传递数据了。 还有一个需要注意的是,struts2现在的页面数据是在页面上通过tag 来 pull出来的。对 EL没有支持。即原来struts1里面 我们去数据可以
${<the var in the request>}
,通过tag,但是原理上差别不大。觉得这样子可以比较专注于业务逻辑处理。
还是来段代码把,嘴上说的太虚,还是真刀真枪的干才是真理啊。

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.yqg;

/**
*
* @author jonson_yu
*/
public class HelloWorld {
private String name;

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}

public String doWork(){
//TODO do you own work

//传递name数据到页面上。当然这个string类型的bean可以是任意的你自定义的bean。
setName("your name!");
//返回的字符串要符合默认规则。success会默认的找到配置文件里的第一配置的跳转页面
//作为跳转页。 也可以自己定义跳转名字,要在配置文件里配置。
if(false){
return "goOtherPage";
}
return "success";
}
}



<actions package=""...>
<action name="dowork" class="com.yqg.HelloWorld" method="doWork">
<result name="goOtherPage">/otherPage.jsp</result>
</action>
</actions>


关于具体配置的网上文章比较多,可以看 [url]http://xuliangyong.iteye.com/blog/72862[/url] 这里。整个用下来感觉struts2还是非常不错的一个框架。让我们更专注于业务逻辑。但是在开发过程中发现,大量的发射调用,在性能上有所下降。没有做具体的测试,不知有没有哪位有比较深入的研究性能的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值