在Java Web开发的求职面试中,SSH(Struts2 + Spring + Hibernate)框架的知识是面试官经常考察的重点。为了帮助广大求职者更好地准备面试,我们特意整理了2023年最新的SSH框架面试题汇总。
一、Struts2框架面试题
-
请简述Struts2的工作流程
Struts2的工作流程主要包括:客户端发送请求->FilterDispatcher接收请求->根据请求找到对应的Action类->Action类执行相应的业务逻辑->返回结果给对应的Result->FilterDispatcher把结果响应给客户端。
-
Struts2中如何防止表单重复提交?
可以通过在表单中添加一个隐藏的token字段,并在服务器端进行验证来实现。
二、Spring框架面试题
-
请解释Spring的AOP(面向切面编程)
Spring AOP允许开发者定义一些通用的、与业务逻辑无关的“切面”,并将它们“织入”到应用程序中,以提供日志记录、事务管理、性能监控等横切关注点。
-
Spring的IoC(控制反转)是什么?
IoC是一种编程思想,其主要作用是把对象的创建、初始化、销毁等工作交给专门的容器去管理,开发者只需在配置文件中声明对象之间的关系,然后由容器负责创建和装配对象。
三、Hibernate框架面试题
-
Hibernate中如何配置数据库连接?
在Hibernate的配置文件hibernate.cfg.xml或Spring的配置文件中配置数据源,指定数据库的URL、用户名、密码等信息。
-
Hibernate中的Session和SessionFactory的区别是什么?
Session是Hibernate提供的一个操作数据库的中间层,是一个轻量级的、非线程安全的对象,通常与数据库的一次会话对应。而SessionFactory是一个重量级的、线程安全的对象,它负责创建Session,通常一个应用只需要一个SessionFactory实例。