繁体   English   中英

扩展Struts ActionServlet和RequestProcessor

[英]Extending Struts ActionServlet and RequestProcessor

谁能告诉我应该扩展ActionServletRequestProcessor类的场景? 我在Struts文档中读到它可以完成,但我不明白在哪种情况下。

ActionServlet和RequestDispatcher是Struts框架中的主要参与者。 ActionServlet处理对Struts应用程序发出的所有请求,并将处理请求的“繁重工作”委托给RequestProcessor对象。

在Struts应用程序中,您通常通过创建Action类来执行操作,每个Action都会处理自己的不同内容。 有时虽然您希望对日志记录或安全性等所有操作执行常见操作,但您不希望它们在每个Action类中执行吗? 这将意味着大量代码重复,因此您必须将此常见行为置于单个Actions之上的某处。

ActionServlet和RequestProcessors很适合这类东西。 当然,您可以编写一个过滤器,但ActionServlet和RequestProcessors已经包含与您的框架相关的代码,因此当您可以重用已存在的内容并扩展它时,没有必要从头开始。

扩展的主题通常是RequestProcessor(不仅仅是ActionServlet),因此请阅读RequestProcessor的JavaDoc,您将看到有很多有用的方法可以扩展和添加钩子到执行的重要阶段。

举个具体的例子: Tiles插件使用RequestProcessor扩展

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM