1

为什么在struts 1.3中我们有两个单独的类来处理请求:

-- ActionServlet 拦截请求并调用 RequestProcessors 处理方法进行进一步处理
--RequestProcessor 读取 XML 文件,找到合适的 Handler 并处理请求

我的问题是为什么这是两个不同的课程?我试图在网上和书籍上搜索,但没有得到任何答案。

任何人都可以有任何想法吗?请告诉我

4

2 回答 2

2

ActionServlet基本上读取你的struts-config.xml并创建一个ModuleConfig. 这ModuleConfig是您的struts-config.xml. ActionServlet 只是将您的HttpServletRequestand传递HttpSerlvetResponseRequestProcessor.

RequestProcessor基本上从请求中识别(Action通过ModuleConfig帮助程序)创建一个ActionMapping(基于所做的调用)并执行执行必要的操作来检索一个ActionForward. 从 中ActionForward,它将您的请求和响应委托给它,这就是整个 Struts 工作流程。

基本上,Struts 的核心是通过RequestProcessor. ActionServlet只是初始化 Struts 并将请求和响应传递给RequestProcessor.

于 2012-06-29T06:51:18.683 回答
0

RequestProcessor类是在 Struts 控制器环境中进行请求处理的实际位置。

当请求对象第一次到达actionservlet类时,它会调用底层 RequestProcessor 类的process方法。

然后,此处理方法查看struts-config.xml文件并尝试定位请求附带的操作的名称。一旦它在 xml 文件中识别出该操作,它就会继续请求处理所需的其余步骤。

于 2017-04-03T04:27:37.497 回答