4.5 常见面试题分析
1. 根据你的理解,简述Struts2框架的执行流程
答:Struts2框架的处理过程如下所示(其中涉及的概念如图4.6所示):
图4.6 Struts2中涉及的概念
1)客户端初始化一个指向Servlet容器(如Tomcat)的请求。
2)这个请求经过一系列过滤器(如ActionContextCleanUp、SiteMesh等)。
3)FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。
4)如果ActionMapper决定调用某个Action,FilterDispatcher把请求交给ActionProxy。
5)ActionProxy通过Configuration Manager询问Struts配置文件,找到需要调用的Action类。
6)ActionProxy创建一个ActionInvocation实例。
7)ActionInvocation实例使用命名的模式来调用,回调Action的execute方法。
8)一旦Action执行完毕,ActionInvocation负责根据Struts.xml的配置返回结果。
2. 下载Struts2框架的JAR包时,会遇到哪些版本?它们的含义是什么
答:当具体下载关于Struts2框架的JAR包时,经常会遇到如下的版本,它们分别为:
1)Full Distribution:下载Struts2的完整版。通常建议下载该选项。
2)Example Applications:下载Struts2的示例应用,这些示例应用对于学习Struts2有很大的帮助,下载Struts2的完整版时已经包含了该选项下全部应用。
3)Blank Application only:仅下载Struts2的空示例应用,这个空应用已经包含在Example Applications选项下。
4)Essential Dependencies:仅仅下载Struts2的核心库,下载Struts2的完整版时将包括该选项下的全部内容。
5)Documentation:仅仅下载Struts2的相关文档,包含Struts2的使用文档、参考手册和API文档等。下载Struts2的完整版时将包括该选项下的全部内容。
6)Source:下载Struts2的全部源代码,下载Struts2的完整版时将包括该选项下的全部内容。
3. 开发一个实现Struts2框架的程序,一般会经过什么具体步骤
答:如果想开发一个关于Struts2框架的应用程序,需要经历如下过程:
1)配置web.xml文件。
2)编写发出请求页面。
3)编写处理请求的Action。
4)配置关于Action的映射文件。
5)测试。