为什么在struts 1.3中我们有两个单独的类来处理请求:
-- ActionServlet 拦截请求并调用 RequestProcessors 处理方法进行进一步处理
--RequestProcessor 读取 XML 文件,找到合适的 Handler 并处理请求
我的问题是为什么这是两个不同的课程?我试图在网上和书籍上搜索,但没有得到任何答案。
任何人都可以有任何想法吗?请告诉我
为什么在struts 1.3中我们有两个单独的类来处理请求:
-- ActionServlet 拦截请求并调用 RequestProcessors 处理方法进行进一步处理
--RequestProcessor 读取 XML 文件,找到合适的 Handler 并处理请求
我的问题是为什么这是两个不同的课程?我试图在网上和书籍上搜索,但没有得到任何答案。
任何人都可以有任何想法吗?请告诉我
ActionServlet
基本上读取你的struts-config.xml
并创建一个ModuleConfig
. 这ModuleConfig
是您的struts-config.xml
. ActionServlet 只是将您的HttpServletRequest
and传递HttpSerlvetResponse
给RequestProcessor
.
RequestProcessor
基本上从请求中识别(Action
通过ModuleConfig
帮助程序)创建一个ActionMapping
(基于所做的调用)并执行执行必要的操作来检索一个ActionForward
. 从 中ActionForward
,它将您的请求和响应委托给它,这就是整个 Struts 工作流程。
基本上,Struts 的核心是通过RequestProcessor
. ActionServlet
只是初始化 Struts 并将请求和响应传递给RequestProcessor
.
RequestProcessor类是在 Struts 控制器环境中进行请求处理的实际位置。
当请求对象第一次到达actionservlet类时,它会调用底层 RequestProcessor 类的process方法。
然后,此处理方法查看struts-config.xml文件并尝试定位请求附带的操作的名称。一旦它在 xml 文件中识别出该操作,它就会继续请求处理所需的其余步骤。