面试疑难点解析:开发工具及框架(三)

简介: 关于SSH的整合问题,本次的讨论以:spring4.3.9+Hibernate5.2.9+Struts2.5版本为例,讨论这个整合可能存在的一些缺陷。

新版SSH的整合问题

SSH开发框架整合已经在整个行业之中流行了十多年,在以后很长一段时间内依然有可能见到这样的架构,因为在整个java最盛行的那段时间,SSH出现许多项目,这些项目还有可能进行继续维护。所以,当你应聘时会发现公司所使用的技术可能有SSM、SSH。

最初的SSH开发习惯都是基于MyEclipse进行的,因为当时很多公司可以不考虑盗版问题,随着MyEclipse不断发布,以及破解难度越来越高,许多公司不得不放弃这款神奇框架,而改用Eclipse+maven开发形式,可以使用的SSH版本也出现了一些差异化。

本次讨论的问题以:spring4.3.9+Hibernate5.2.9+Struts2.5版本为例,讨论这个整合可能存在的一些缺陷;

1.Hibernate:

考虑到每一次在进行数据转型的时候都采用Query完成(Object),向下转型是有安全隐患的,所以Hibernate追加了一个新的Query接口:org.hibernate.query.Query< T >,这样的好处是可以方便的直接进行转换,做法有些类似于MyBatis;

在使用Query接口更新的时候,对于更新的处理操作可以使用事务提交进行发出,习惯做法:HibernateSessionFactory.getSession().begin Transaction().commit(),这样的写法在更新的时候不能出现,必须先取得Transaction对象,更新完毕后再利用此对象进行提交;

2.Struts2.x

默认情况下考虑安全问题,Struts2.x不再支持直接分发处理操作,采用“Action名称!方法.action“不支持,即便开启动态业务分发也无法使用;

必须设置一个正则表达式的匹配符号后才可以开启分发处理,但是这样又可能出现安全问题;

Struts2.x的日志配置里面还需要使用一个log4j2.xml文件进行配置。

更多专业知识,面试技巧就在面试一点通,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧

相关文章
|
机器学习/深度学习 人工智能 JSON
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
Resume Matcher 是一款开源AI简历优化工具,通过解析简历和职位描述,提取关键词并计算文本相似性,帮助求职者优化简历内容,提升通过自动化筛选系统(ATS)的概率,增加面试机会。
1541 18
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
782 27
|
人工智能 自然语言处理 搜索推荐
ViDoRAG:开源多模态文档检索框架,多智能体推理+图文理解精准解析文档
ViDoRAG 是阿里巴巴通义实验室联合中国科学技术大学和上海交通大学推出的视觉文档检索增强生成框架,基于多智能体协作和动态迭代推理,显著提升复杂视觉文档的检索和生成效率。
916 8
ViDoRAG:开源多模态文档检索框架,多智能体推理+图文理解精准解析文档
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
799 3
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
数据可视化 测试技术 API
GraphQL开发工具选型指南:Apipost高效调试与文档生成实战解析
本文深入解析了GraphQL开发工具Apipost在高效调试与文档生成方面的优势,对比同类工具Apifox,突出其可视化界面、实时调试及自动化文档生成等特性。Apipost通过智能代码补全、错误提示等功能简化复杂Query编写,支持一键生成标准化文档,显著提升开发效率和团队协作效果,尤其适合中大型团队应对复杂业务场景。
|
Java 程序员
面试官的加分题:super关键字全解析,轻松应对!
小米,29岁程序员,通过一个关于Animal和Dog类的故事,详细解析了Java中super关键字的多种用法,包括调用父类构造方法、访问父类成员变量及调用父类方法,帮助读者更好地理解和应用super,应对面试挑战。
226 3
|
开发框架 Dart Android开发
安卓与iOS的跨平台开发:Flutter框架深度解析
在移动应用开发的海洋中,Flutter作为一艘灵活的帆船,正引领着开发者们驶向跨平台开发的新纪元。本文将揭开Flutter神秘的面纱,从其架构到核心特性,再到实际应用案例,我们将一同探索这个由谷歌打造的开源UI工具包如何让安卓与iOS应用开发变得更加高效而统一。你将看到,借助Flutter,打造精美、高性能的应用不再是难题,而是变成了一场创造性的旅程。
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1215 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
507 4

推荐镜像

更多
  • DNS