Struts2框架面试深度解析

需积分: 3 4 下载量 172 浏览量 更新于2024-09-16 收藏 16KB TXT 举报
"该资源主要关注的是经典的框架面试题,特别是关于Struts2框架的面试问题。内容涉及了Struts2的工作原理、架构设计以及与其他框架的比较,同时还提到了Struts2中的Action、Interceptor、配置文件等核心概念。" 在Java Web开发中,Struts2是一个非常重要的MVC框架,常用于构建企业级应用。以下是关于Struts2框架的详细解析: 1. **Struts2框架工作流程**: - 当用户发起一个请求时,请求会经过一系列的过滤器,首先是通过`FilterDispatcher`,这是Struts2的核心组件。 - `FilterDispatcher`会根据`struts2`配置文件(struts.xml)来决定如何处理请求,查找合适的Action。 - 如果找到了对应的Action,ActionMapper会确定Action的执行路径。 - ActionProxy创建并调用Action对象,同时会执行与Action相关的拦截器(Interceptor)链。 - Action执行完毕后,ActionInvocation会依据配置的Result来决定如何返回响应,可能是重定向,也可能是转发到某个页面。 2. **Struts2与Struts1的区别**: - Struts2是Struts1和WebWork的融合,它继承了WebWork的很多优点,如使用OGNL作为表达式语言,支持AOP拦截器等。 - Struts2的Action不再是单一入口,而是通过FilterDispatcher来实现多Action映射,这使得它更加灵活。 3. **Action与ActionInvocation**: - Action是业务逻辑的载体,负责处理用户请求,执行相应的业务操作。 - ActionInvocation则是执行Action的接口,它包含了Action执行前后的所有过程,包括调用拦截器和Action方法。 4. **Interceptor(拦截器)**: - 拦截器是Struts2的一大特色,它可以实现AOP(面向切面编程),在Action执行前后进行预处理和后处理,比如日志记录、权限验证等。 5. **配置文件**: - struts.xml文件是Struts2的主要配置文件,用于定义Action、结果类型、拦截器等,是控制层的核心配置。 - web.xml则配置了FilterDispatcher,使其在Web应用启动时生效。 6. **HTTP请求与视图渲染**: - Struts2的请求通常以`.action`结尾,它将请求映射到特定的Action上。 - Action执行完成后,通常会通过ActionForward或ActionResult将控制权交给视图层,可以是JSP、FreeMarker或其他模板技术。 - 视图渲染后,通过HTTP响应返回给客户端。 7. **MVC模式**: - Struts2遵循MVC设计模式,Model代表业务模型,View负责显示,Controller(即Action)处理用户请求并控制数据流向。 8. **FormBean**: - 在Struts1中,FormBean是用于封装用户输入数据的对象,而在Struts2中,这部分功能被Action取代,Action类可以直接接收和处理请求参数。 了解并掌握Struts2的工作原理和关键概念,对于应对框架面试题和实际开发都是非常重要的。这些知识点涵盖了Struts2的核心组件、流程控制、以及它在MVC架构中的角色,对于深入理解Java Web开发有极大的帮助。