<pre code_snippet_id="2265400" snippet_file_name="blog_20170315_1_4052638" name="code" class="html"><?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="struts2" extends="struts-default">
<action name="add"
class="edisundong.AddAction" >
<result>add.jsp</result>
</action>
</package>
</struts>
</pre>
当核心Servlet 或Filter 收到用户请求时,通常会对请求进行预处理,并通过反射机制创建Action实例,并调用Action指定的方法。
当Servlet或Filter链接请求后是怎样知道拦创建哪个Action呢?
答:(1)利用配置文件 (2) 利用约定
MVC框架中实际有两部分组成,拦截用户请求、处理请求的通用代码由核心控制器完成,而实际的业务控制(eg:调用Model)由Action处理StrutsPrepareAndExecuteFilter 为核心控制器 XxxAction为业务控制器
下图用于理解处理结果