JavaWeb从入门到精通(视频实战版)
上QQ阅读APP看书,第一时间看更新

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)测试。