Java SSH框架笔试真题(含详细答案)_第1页
Java SSH框架笔试真题(含详细答案)_第2页
Java SSH框架笔试真题(含详细答案)_第3页
Java SSH框架笔试真题(含详细答案)_第4页
Java SSH框架笔试真题(含详细答案)_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaSSH框架笔试真题(含详细答案)适用场景:Java后端初级开发面试、校招笔试、框架基础考核考核范围:Spring、Struts2、Hibernate核心原理、配置规范、常见问题、实操场景一、单项选择题(10题,每题3分,共30分)1.Spring框架的核心思想是()A.面向对象B.控制反转与依赖注入C.面向切面D.模块化编程答案:B解析:Spring最核心的两大特性为IOC(控制反转)和DI(依赖注入),实现组件解耦;AOP是Spring重要拓展功能,并非核心思想。2.下列不属于SpringBean作用域的是()A.singletonB.prototypeC.requestD.global答案:D解析:SpringBean原生作用域包含singleton(单例,默认)、prototype(多例)、request、session、application、websocket,无global作用域。3.Struts2的核心控制器是()A.ActionServletB.FilterDispatcherC.DispatcherServletD.Action答案:B解析:Struts2基于过滤器实现,核心控制器为FilterDispatcher;ActionServlet是Struts1核心控制器,DispatcherServlet是SpringMVC核心控制器,Action为业务处理器。4.Hibernate中,以下哪个状态表示实体对象已持久化、与数据库记录绑定()A.临时态B.持久态C.游离态D.托管态答案:B解析:Hibernate实体三状态:临时态(new创建,无数据库关联)、持久态(session管理,对应数据库记录)、游离态(session关闭后,对象存在但不受管理)。5.Spring依赖注入中,优先推荐的注入方式是()A.构造器注入B.set方法注入C.字段注入D.接口注入答案:A解析:构造器注入可以保证组件初始化时依赖完整,避免空指针,保证不可变、线程安全,是企业开发规范首选;set注入适用于可选依赖。6.Struts2中默认的配置文件名称是()A.struts.xmlB.struts2.xmlC.config.xmlD.application.xml答案:A解析:Struts2框架默认加载类路径下的struts.xml作为核心配置文件,用于配置Action、拦截器、跳转视图等。7.Hibernate的一级缓存特点描述正确的是()A.全局共享,跨sessionB.默认关闭,需手动开启C.基于Session,单次会话有效D.可自定义缓存策略答案:C解析:一级缓存是Session级别的本地缓存,默认开启,仅在单次会话内有效,会话关闭缓存清空;二级缓存是SessionFactory级全局缓存,默认关闭。8.SpringAOP中,在方法执行前后都会执行的通知类型是()A.BeforeB.AfterC.AroundD.AfterReturning答案:C解析:Around(环绕通知)可以拦截方法执行,手动控制方法调用,可在目标方法执行前、后自定义逻辑;Before仅前置、After仅后置、AfterReturning仅成功返回后执行。9.下列关于SSH框架整合流程说法错误的是()A.Spring管理Struts2的ActionB.Spring管理Hibernate的SessionFactoryC.Struts2直接操作数据库D.Hibernate负责数据持久化答案:C解析:标准SSH架构中,Struts2负责接收请求、分发业务,不直接操作数据库;由Spring管理事务和业务层,Hibernate负责数据库CRUD操作。10.HQL语句的特点说法正确的是()A.基于数据库表和字段编写B.基于实体类和属性编写C.执行效率高于SQLD.不支持多表查询答案:B解析:HQL是Hibernate专属查询语言,面向对象,基于实体类名、属性名编写,兼容大部分SQL语法,可读性、移植性更强。二、填空题(5题,每题4分,共20分)1.SpringIOC容器的核心配置文件后缀为______,常用注解实现组件扫描的注解是______。答案:xml、@ComponentScan2.Struts2的工作流程核心四步:接收请求→______→执行业务逻辑→______。答案:拦截器拦截处理、视图跳转响应3.Hibernate实现ORM映射,ORM的中文全称是______。答案:对象关系映射4.Spring事务管理中,默认的事务传播行为是______,默认事务隔离级别是______。答案:REQUIRED、读已提交5.SSH三层架构中,Struts2对应______层、Spring对应______层、Hibernate对应______层。答案:控制(web)、业务、数据持久三、简答题(4题,每题8分,共32分)1.简述SSH三大框架各自的作用及分工答案:1)Struts2(Web控制层):负责接收前端浏览器请求,拦截过滤请求参数,调用业务层接口,根据业务执行结果完成页面跳转和数据响应,专注于请求分发和视图控制,不处理业务和数据持久化。2)Spring(业务管理层):核心负责组件解耦、依赖注入、事务管理、切面编程。统一管理所有Bean(Action、Service、Dao),整合Struts2和Hibernate,管控业务逻辑层,保证事务一致性,提升代码复用性和可维护性。3)Hibernate(数据持久层):基于ORM思想,屏蔽原生SQL的繁琐操作,通过实体类映射数据库表,提供CRUD、HQL查询、缓存管理等功能,简化数据库操作,实现数据持久化,降低数据库耦合度。2.简述SpringIOC的实现原理和优势答案:实现原理:程序启动时,Spring读取xml配置或注解信息,扫描项目中的组件类,通过反射机制创建Bean对象,存入IOC容器统一管理;当程序需要使用对象时,由容器主动注入依赖对象,而非开发者手动new创建。核心优势:1)彻底解耦:消除代码硬依赖,降低类与类之间的耦合度;2)统一管理:所有组件由容器统一创建、初始化、销毁,便于统一管控;3)便于拓展:后续修改依赖、替换组件无需改动业务代码,符合开闭原则。3.简述Hibernate一级缓存和二级缓存的区别答案:1)作用范围:一级缓存为Session级别,仅单次数据库会话有效;二级缓存为SessionFactory级别,全局共享,跨多个Session。2)开启状态:一级缓存默认开启,无需手动配置;二级缓存默认关闭,需要引入缓存插件、手动配置开启。3)生命周期:一级缓存随Session创建而创建、关闭而清空;二级缓存随项目启动而初始化、项目关闭而销毁。4)使用场景:一级缓存适用于单次会话内重复查询,减少重复SQL;二级缓存适用于高频查询、极少修改的静态数据,提升全局查询效率。4.简述Struts2拦截器的作用及执行机制答案:作用:拦截器是Struts2的核心组件,用于对请求进行统一预处理和后处理,可实现参数封装、请求校验、权限控制、日志记录、异常处理等通用功能,避免代码冗余。执行机制:客户端请求到达后,先经过Struts2核心过滤器,再依次执行配置的拦截器栈;所有拦截器前置逻辑执行完毕后,调用目标Action执行业务;Action执行完成后,反向执行所有拦截器的后置逻辑,最终返回视图。四、代码实操题(1题,18分)需求:完成最简SSH整合用户查询功能,包含核心配置与代码实现功能:前端请求查询用户信息,Action接收请求,调用Service,Dao通过Hibernate查询数据库用户数据并返回。1.实体类User.java(ORM映射)java

publicclassUser{

privateIntegerid;

privateStringusername;

privateStringpassword;

//无参、有参构造

publicUser(){}

publicUser(Integerid,Stringusername,Stringpassword){

this.id=id;

this.username=username;

this.password=password;

}

//getter、setter方法

publicIntegergetId(){returnid;}

publicvoidsetId(Integerid){this.id=id;}

publicStringgetUsername(){returnusername;}

publicvoidsetUsername(Stringusername){this.username=username;}

publicStringgetPassword(){returnpassword;}

publicvoidsetPassword(Stringpassword){this.password=password;}

}2.User.hbm.xml映射文件xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEhibernate-mappingPUBLIC

"-//Hibernate/HibernateMappingDTD3.0//EN"

"/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mappingpackage="com.entity">

<classname="User"table="t_user">

<idname="id"column="id">

<generatorclass="native"/>

</id>

<propertyname="username"column="username"/>

<propertyname="password"column="password"/>

</class>

</hibernate-mapping>3.Dao层接口与实现java

//UserDao接口

publicinterfaceUserDao{

UserfindUserById(Integerid);

}

//UserDao实现类

@Repository

publicclassUserDaoImplimplementsUserDao{

@Autowired

privateHibernateTemplatehibernateTemplate;

@Override

publicUserfindUserById(Integerid){

returnhibernateTemplate.get(User.class,id);

}

}4.Service层接口与实现(事务管理)java

//UserService接口

publicinterfaceUserService{

UsergetUserInfo(Integerid);

}

//UserService实现类

@Service

@Transactional

publicclassUserServiceImplimplementsUserService{

@Autowired

privateUserDaouserDao;

@Override

publicUsergetUserInfo(Integerid){

returnuserDao.findUserById(id);

}

}5.Struts2Action层java

@Controller

publicclassUserActionextendsActionSupport{

@Autowired

privateUserServiceuserService;

privateIntegerid;

privateUseruser;

publicStringfindUser(){

user=userService.getUserInfo(id);

returnSUCCESS;

}

//getter、setter

publicIntegergetId(){returnid;}

publicvoidsetId(Integerid){this.id=id;}

publicUsergetUser(){returnuser;}

publicvoidsetUser(Useruser){this.user=user;}

}6.struts.xml核心配置xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEstruts-public"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.5//EN"

"/dtds/struts-2.5.dtd">

<struts>

<packagename="user"extends="struts-default"namespace="/">

<actionname="findUser"class="userAction"method="findUser">

<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论