"Struts+Hibernate+Spring常见面试题" 面试中,对于Struts、Hibernate和Spring这三大框架的理解和应用能力是评估开发者技能的重要方面。以下是对这些知识点的详细阐述: 1. **Struts**: - **Action是否线程安全**:Action在Struts1中通常不是线程安全的,因为同一个Action实例可能会被多个线程同时访问。如果需要确保线程安全,可以使用ThreadLocal或者每次请求创建新的Action实例。 - **实现MVC**:Struts通过Controller层的ActionServlet处理用户请求,Model层通过Action和FormBean实现业务逻辑和数据处理,View层使用JSP或FreeMarker展示结果,实现模型-视图-控制器的设计模式。 - **关键对象**:ActionServlet负责请求分发,ActionForm存储请求数据,Action转发控制,Struts-config.xml配置整个应用的结构。 2. **Spring**: - **AOP和IOC**:AOP(面向切面编程)允许在不修改源代码的情况下,添加额外的功能,如日志、事务管理。Spring通过代理模式实现AOP。IOC(控制反转)是Spring的核心,它负责管理对象的生命周期和依赖关系,使得组件解耦。 - **应用**:Spring通过XML或注解配置实现IOC,通过AOP提供事务管理、日志等服务。 3. **Hibernate**: - **查询方式**:包括HQL(Hibernate查询语言)、Criteria API、Query API和原生SQL,提供了多种方式来获取和操作数据。 - **load() vs get()**:load()用于延迟加载,返回的是代理对象,只有当访问对象属性时才会触发数据库查询;get()则会立即执行查询,如果对象不存在,会返回null。 4. **Struts优缺点**: - **优点**:标准化,丰富的学习资源,Taglib简化开发,页面导航清晰,实现表现与逻辑分离,表单验证增强系统健壮性,利于团队协作。 - **缺点**:对新手不友好,ActionForms难以单元测试,部分功能(如Tiles)被其他框架替代。 5. **Struts标签库**: - **HTML**:用于创建与Struts交互的HTML表单。 - **Bean**:用于访问JavaBeans和其属性。 - **Logic**:处理条件判断和循环。 - **Template**:与Tiles框架配合使用,但使用较少。 - **Nested**:用于处理嵌套属性,主要与Struts的复杂表单处理有关。 这些面试题涉及了三个框架的基础知识、核心概念和常见应用场景,理解并掌握这些内容对于在实际项目中使用这些技术至关重要。
![](https://csdnimg.cn/release/download_crawler_static/3939713/bg3.jpg)
剩余14页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)