面试归来
技术面试官叫我谈谈 ssh优缺点
平时用起来倒是挺顺手..但是从来没有系统的总结过..导致很多点会都没有说出来..
这次我认真总结了一下...
常说的好处 开源
常说的坏处 配置文件过大我就不提了
struts
优点:
收集,验证表单数据相比传统servlet简单
优雅的实现可配置的请求转发
缺点:
属侵入设计(actionform,action都无法复用)
与serlvetAPI严重耦合..无法摆脱容器
action与web层耦合.不方便测试
标准struts的action是非线程安全(很多简历上写着"精通Struts"的高手们都忽视的问题)
不熟悉:
struts标签库没怎么用过(常用jstl)
国际化只学过,没用过.停留在demo级别
validation.xml(配置文件写多了,有时候也想逃避)
支持表现层技术单一(一直作为struts的缺点来说...但是我也就会jsp而已)
Spring
优点:
IoC虽然不好形容,但是我从最开始接触spring时就觉得这是个很大的优点
aop(我自己写过的aop就只有日志...)
对象容器
管理对象的生命周期(集成struts摆脱线程问题)
测试也变得方便
多数代码没有侵入spring的API
对于hibernate有很好的支持
还有很多好处(权限,email支持,调度任务,权限,事务等等),我把我知道的对于ssh的尽量总结出来
缺点:
缺点我不好提出来..without ejb我没看过..甚至ejb我也不会..
我也就简单用用...不过我听说过这些缺点(如果有错请及时指正)
如果开发者设计不出合理的接口.导致一改就改多处.反而造成不便
不支持分布式部署。
不是一站式方案(开放的体系和封闭的体系这种话题我从来参与不进去..但是还是常看看的)
hibernate
优点:
ORM 使数据层更加对象化..摆脱所谓的阻抗不匹配
sql方言的存在使得开发不用过多考虑数据库的问题
非侵入式设计
缺点:
个人感觉熟练使用的话曲线太陡..(尤其对于多表间复杂查询)
不熟悉:
Transaction(一般都直接交给spring了..接触不错..demo级别)
缓存机制(Session的缓存和SessionFactory的缓存(内置缓存和外置缓存))
错觉:
hibernate对于瑕疵的处理不够
有entity-name的映射 save 就抛错这是我很久以前就发现的问题..难道这不是问题?
可能高手从我总结就可以看出我水平有多菜....
不过还是不要吝惜口水 喷我吧..
在javaeye被喷 只会使我进步 面试时候被喷 少的就是机会了
分享到:
相关推荐
Struts、Hibernate和Spring是Java开发中的三大框架,它们常被组合使用,称为SSH整合,以构建企业级的Web应用程序。下面将详细解释这三大框架各自的特点和它们整合的优势。 Struts是一个基于MVC设计模式的Java Web...
1. 了解Struts的工作流程和优缺点,理解Action的线程安全性问题。 2. 理解MVC模式,知道Struts如何实现MVC,以及MVC的组成部分。 3. 熟悉Spring的AOP和IOC概念,理解它们在Spring中的应用。 4. 掌握Hibernate的查询...
### jsp源码车辆管理系统(struts+hibernate+spring+oracle) #### 一、项目概述 本系统为一个基于JSP技术栈开发的车辆管理系统,主要包括Struts框架用于前端展示层、Hibernate作为数据持久层处理数据库交互逻辑、...
### SSH框架:Struts、Hibernate、Spring 的优缺点分析 #### Struts **优点:** 1. **MVC模式的支持**:Struts框架遵循MVC(Model-View-Controller)设计模式,它将应用程序分为模型层、视图层和控制器层,这样的...
这篇毕业设计论文主要探讨了如何使用Java技术栈构建一个基于Struts、Hibernate和Spring的博客系统。这个系统展示了Web开发中的MVC(Model-View-Controller)架构模式的应用,以及如何利用这些开源框架来实现数据持久...
### 基于Struts、Hibernate和Spring的J2EE架构研究 #### 一、引言 随着互联网技术的发展和企业需求的日益多样化,软件开发领域面临着越来越多的挑战。为了解决这些问题,J2EE(Java 2 Platform, Enterprise ...
在JavaWeb开发领域,Struts、Spring和Hibernate是三大主流框架,它们分别负责表现层、业务层和服务层的管理,形成了MVC(Model-View-Controller)架构的基础。本示例将详细介绍这三个框架如何整合使用,以提升项目的...
### Spring + Struts + Hibernate 面试题解析 #### 一、Struts 相关面试题 **1. Action 是否是线程安全的?如果不是,有什么方式可以保证 Action 的线程安全?如果是,请说明原因** - **Struts 1 中 Action 的...
### Struts, Spring, Hibernate 三大框架的优缺点分析 #### Struts框架 **优点:** 1. **组件模块化与灵活性:** Struts框架强调组件的模块化设计,这使得开发者可以根据项目的不同需求灵活地选择和组合这些组件。...
Struts、Spring 和 Hibernate 是Java Web开发中三大主流的开源框架,它们各自有着独特的功能和优缺点。在构建企业级应用程序时,理解这些框架的核心特性以及它们如何相互补充至关重要。 Struts 是一个基于MVC...
Struts,Spring,Hibernate优缺点_fly.mht
5. JDBC与Hibernate的比较:对比两者在数据访问上的优缺点,了解何时选择JDBC,何时选择ORM框架。 通过深入研究这个项目,你可以掌握SSH整合的基础,并进一步提升你的Java Web开发技能。对于初学者来说,这是一个很...
Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2主要用于MVC(Model-View-Controller)架构的实现,提供控制层的支持;Hibernate是对象关系映射(ORM)工具,负责数据持久...
Struts、Spring和Hibernate是Java开发中常用的三个框架,它们分别在MVC模式的不同层面提供支持。以下是这三个框架的详细优缺点分析: **Struts** Struts是一个开源的MVC框架,主要用于构建Web应用程序。它的主要...
【标题】"jsp+hibernate+Struts人事档案管理系统"是基于Java Web技术构建的企业级应用,旨在高效地管理和维护人事档案数据。这个系统利用了三种核心技术:JSP(JavaServer Pages)、Hibernate和Struts,它们分别在...
Spring、Struts和Hibernate是Java开发中非常经典的三大框架,它们各自在应用程序的不同层次上发挥作用,共同构建了一个完整的MVC(Model-View-Controller)架构。这篇文章将详细讲解这三个框架的核心概念、整合方式...
SSH,即Spring、Struts和Hibernate,是Java开发中一种常见的技术栈,用于构建企业级Web应用程序。这个组合提供了模型-视图-控制器(MVC)架构的支持,以及数据库访问和业务逻辑处理的能力。让我们详细分析一下SSH的...
### Struts、Spring、Hibernate 的优缺点分析 #### 一、Struts 框架 **优点:** 1. **实现 MVC 架构模式:**Struts 通过 Model-View-Controller (MVC) 设计模式,使得业务逻辑与表示层分离,便于维护和扩展。 2. ...