有谁能告诉我应该扩展ActionServletRequestProcessor类的场景吗?我在struts文档中读到它是可以完成的,但是我不知道在哪种情况下。

最佳答案

actionServlet和requestDispatcher是Struts框架中的主要参与者。actionservlet处理对struts应用程序的所有请求,并将处理请求的“繁重工作”委托给requestprocessor对象。
在struts应用程序中,通常通过创建操作类来执行操作,每个操作都处理自己的不同内容。有时,尽管您希望对所有操作(如日志记录或安全性)执行通用操作,但不希望在每个操作类中执行这些操作,是吗?这将意味着大量的代码重复,因此您必须将这种常见行为放在单个操作之上。
actionServlet和requestProcessors非常适合这类东西。当然,你可以编写一个过滤器,但是ActhServServices和Rebug处理器已经包含了与你的框架相关的代码,所以当你可以重用已经存在的东西并扩展它时,没有必要从头开始。
扩展的主题通常是requestprocessor(多于actionservlet),所以请阅读the JavaDoc of the RequestProcessor,您将看到有很多有用的方法可以扩展和添加钩子到执行的重要阶段。
给你一个具体的例子:Tiles Plugin使用了extension of the RequestProcessor

10-05 18:38