Struts1.2(2)

1.RequestProcessor


1)解决多个人使用一个映射文件的问题.
2)当浏览器访问服务器,调用serlvet的时候,serlvet会去找config.xml映射文件.在这里之间增加一个RequestProcessor来转到分模块的config.xml上.


过程


1)在web.xml里增加一个<init-param>,name为主serlvet的下一层,比如config/ma.
2)写Action,配置自己config.xml
3)配置自己的config.xml,写法跟主config.xml一样.
4)浏览器访问的时候以模块名/xxx.do开头.


区分是否需要登陆的页面
1)第一个办法是写一个过滤器拦截在serlvet前面.
2)第二个办法就是把需要登陆的页面放在一个RequestProcessor模块里.


过程
1)重写RequestProcessor类,重写process方法(这个方法被serlvet调用).
2)重写该方法的时候应该写上super.process().然后加上自己的代码.
3)在自己的config.xml里增加一个<controller processorClass>元素,指定RequestProcessor在哪里(若不指定就是框架自己的RequestProcessor)

2.一个Actiong多个execute方法


1.用DispatchAction.
1)新建一个Action,继承DispatchAction.然后写上多个execute,但是名字不要相同.
2)在config.xml里parameter属性里写上"option"类似的关键字(只需要一个Action元素).
3)在浏览器上访问的时候应该是/xxx.do?option=方法名.


2.MappingDispatchAction
1)其他一样,主要是config.xml里根据方法的个数来创建多个Action元素.
2)每个元素的path肯定不一样,但type是一样的.parameter写的是方法名.
3)访问的时候直接是path.do.


3.原理
这两个类都是继承Action类,在execute里做手脚.通过parameter属性和反射方法来获得相应的方法名.


4.区别
区别在于,MappingDispatchAction虽然多写Action元素,但是可以自由的定义forward的元素.推荐使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值