stuts 2的工作流程及开发步骤

struts 2的开发步骤

(1)先定义一个能发送请求的页面

即可是超链接,也可是表单。

(2)开Action类

struts 2对Action燕没有过多的要求,只要求

A. 推荐实现Action接口。或继承ActionSupport

ActionSupport本身实现了Action接口

B.为每一个请求参数都提供Field,并为之提供相应的setter和getter方法。

        C.该Action类应该有无参数的构造器。

(3)配置Action类。

所有action都需要放在package里配置。

<action ..../>无素有如下常用属性:

——name:指定该Action处理哪 个请求

___class:指定该Action对应的处理类

___method:指定使用Action的哪个方法来处理用户请求。默认值为execute

并为处理返回的字符串,指定相应的物理视图。

struts底层的工作

(1)浏览器发送请求,abc.action。  .action后缀可以保留,也可以省略。

(2)浏览器发送的请求被StutsPrepareAndExecuteFilter拦截。

————我们在web.xml中指定了StutsPrepareAndExecuteFilter来过滤所有的请求。

(3)StrutsPrepareAndExecuteFilter会去创建Action实例

假如我们请求abc.action,StrutsPreparaAndExecuteFilter会搜索struts.xml实例

中name为abc的Action配置,根据class属性"使用反射"创建Action实例。

注意:创建对象时,底层实例化vo对象时,使用的是一个无参数的构造方法,

所以当我们写的有参数的构造方法之后,默认无参数的构造方法就没有了,

因此,我们要把无参数的构造方法加上。


(4)调用

Map<String,String> paramMap=request.getParameterMap();   //返回所有请求参数

使用循环(String     paramName:   paraMap.keySet()){

//得到请求参数名对应的setter方法

Action类.getMethod("set"+paraName的首字母大写);    //请求参数对应setter方法

//得到请求参数对应的值

String paramValue=paramMap.get(paramName);

//以Action实例为调用者,调用setter方法,把请求参数值作为参数值传入。

setter.invoke(actionInst,paramValue);

}

(5)再次“通过反射”来调用method属性指定的方法。

返回一个字串。

(6)根据struts.xml文件 中的<result .../>元素的name以物理视图资源,

跳转到实际的视图资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q1054261752

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值