<b>Struts Controller</b>[Java编程]
本文“<b>Struts Controller</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关于controller中的Action:(ActionServlet也是多线程的)
因为Action类是线程安全的,所以在利用程序中成立Action类的唯一实例;Struts中利用lazy Singleton,也就是先判断能否存在实例,若不存在,则成立实例,且对成立实例的代码举行了Synchronization,从而保证同一时刻只有一个线程可以成立Struts的实例.
除此之外,确保Action类不利用实例变量来存储客户特有的状况,关于客户的特有状况,应当在execute中
利用部分变量来保存.
Struts中大量利用了Resource Wrapper
原理可以这样描述:全部在资源实际在配置文件中指定,然后再内存中由一个类的实例来代表,这样要改正资源配置的话,只需求改正呼应的.xml文件便可以了
For Example:
config.ControllerConfig类 ----〉controller元素中配置的信息
ActionMapping-----> action元素,此中findForward()--->findForwardConfig()能否在行动级设定
forward,然后查抄global-forward元素
ActionForward----->forward元素的;web资源的抽象,比方jsp页面和java servlet
Action类应把业务逻辑拜托给模子组件
actions包中有五个action类:
ForwardAction:履行一个到parameter中配置的uri的forward.
IncludeAction:可以用来实现RequestDispatcher中的include();但我不是很清楚
DispatchAction:需求给出它的子类,为需求在服务上履行的每个功效增添一个办法(必须DispatchAction调用的Action类包含一个办法)在配置时必须定义parameter属性,它利用parameter的值决意调用什么办法
设法是把结合完成一个大功效的多个action类放在同一个类中
注意点:DispatchAction利用java Reflection 来调用精确的办法,但是这些办法必须为public
LookupDispatchAction:是DiapatchAction的子类,但是利用恳求参数值,操纵参数值反向查询资源邦定,并将其与类中的办法举行匹配
SwitchAction:支持从一个利用程序模块切换到另一个
两个参数:page(目的地)和prefix(源)
Struts中的实用类:
util中
RequestUtils:线程安全的,没有实例变量,且此中全部办法均为static的.帮忙处理一个恳求
ResponseUtils:帮忙成立一个呼应
beanutils中:
BeanUtils:populate():利用key/value映射,把data装入JavaBean中;
:getProperty():返回property的string表示
:getArrayProperty():string数组
PropertyUtils:getProperty():返回属性的值,不改变属性的范例.
commons:
FastHashMap:多线程的,是HashMap的子类,有slow和fast两种情势 .
以上是“<b>Struts Controller</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |