
java的三大框架SSH 难学吗
难学,找到方法,就很容易,总结方法如下:第一步,看视频或者入门文章。
视频可以去verycd找,文章可以去iteye找。
先看Struts2,也可以看SpringMVC3,然后是Hibernate,最后看Spring。
这一步的目的是知道每个框架作用,能干什么,大概上怎么使用。
第二步,看项目,推荐SpringSide。
这个步骤可以知道实际项目中SSH一般是怎么配合的。
第三步,自己动手。
如果能实现一个单表完整的增删改查,算是基本完成任务。
能再考虑下怎么更通用化,写点东西,这块就没问题了,到哪个公司去,只要稍微看下他们的配置文件,都能上手。
需要思考的是有框架和没有框架,到底能带来什么。
有人不喜欢SSH框架,也有人推荐别的框架,个人喜欢nuts框架,但是总需要明白的是框是干什么用的,怎么用的,在实际运用中有了一些体会,才能明白自己的取舍。
用Struts,是要明白MVC,用Hibernate,要明白什么是持久化,什么是OR\\\/mapping,用Spring,要明白什么是依赖注入,什么是AOP。
就算不精通,也要大致理解。
明白了这些,Hibernate换成Mybaits,Struts换成SpringMVC,甚至别的什么框架,都能很快上手。
学了mvc,ssh框架,请问要在web系统中才能体现设计模式的威力吗
还是去看看java写的开源软件,非常感谢
你的三句话实际上是三件有关系,但并不相互衔接的事情。
是否在web系统中才能体现设计模式的威力
答:当然不是。
设计模式的威力是软件架构师运用脑力设计发掘出来的,不是模式本身固有的。
首先,设计模式是从软件开发过程中总结出来的特定环境下解决特定问题的经过一定验证的方案。
这里的问题是指软件开发的问题。
实际上,设计模式是从业务应用系统、数据库管理系统、嵌入式通信软件、操作系统,等等软件的开发过程中不断总结出来,当然也全部适用。
其二,不能迷信或拘泥于特定的设计模式。
设计模式不是万能的。
不同的需求和约束条件下,应该灵活运用不同的设计模式。
其三,开发web系统所面对的互联网环境以及特定系统的用户要求、法律监管等商业约束是特殊的。
因此,对设计模式的选择、组合和应用也是不同的。
mvc和ssh框架。
答:这两个不是一类东西。
前者是模式中的架构模式,也就是说比较高层的模式,这是相对与策略模式(strategy)、状态模式(state)等设计模式以及惯用法而言的。
而ssh框架则既包含“分层架构模式”,也包含实现技术,实际是一种指导web实现的技术实现框架。
去看看java写的开源软件
答:如果你能够看懂,并有那个耐心,当然是好事。
但还是建议你:首先把算法、数据结构、面向对象的软件开发思想和编程语言技术打牢靠。
尽量多看看软件开发及软件工程的经典书籍,如thinking in java,等。
你提到了设计模式,可是看来你并未看完设计模式这本书,建议你认真看完它,还可以选择诸如“设计模式解析”、“模式的乐趣”、“大话设计模式”等等更加好懂的书。
请推荐我一本实用的JAVA书,一本ssh框架。
谢谢了
<大话设计模式> 挺不错的.
ssh框架只是被用来开发java web的么
你好,zh25898 SSH是适用于J2EE开发的主流选择之一,使得WEB分层原理及MVC模式得到良好体现。
当然,在实际工作中,你会发现有许多公司也并不完全使用SSH框架,除此之外还有ibatis可以胜任持久层的工作,有Spring本身的MVC可以取代S1或S2,但这三者当中,最稳坐泰山的确是SPRING,他以轻量级封装和低入侵性实现了程序设计中高内聚低耦合的核心思想,无疑是java程序框架设计的扛鼎之作。
而Struts2则综合了Struts1和Xwork的长项,两者合体,成为java当中MVC模式下的第一选择。
如果想在JAVA应用领域有所建树,我建议你可以从研读Spring源码和学习Struts2的设计模式做起。
在书籍上,几本恐怕是远远不够的,要说推荐给你几个网站倒是没问题,把邮箱留给我,好书等你读不尽
ssh框架如何分工合作
你好,详细过程如下:系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。
其中使用Struts作为系统的整体基础架构,负责 MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。
具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用 Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件 (struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的 Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
谁能帮忙解答一下SSH撒大框架的整个流程和整合
Struts+hibernate+Spring的整合方法 1、在工程中导入spring支持,导入的Jar包有: Spring Core Libraries Spring ORM\\\/DAO\\\/Hibernate3 Libraries Spring AOP Libraries Spring Web Libraries 2、在Spring配置文件中配置dataSource和SessionFactory,将hibernate配置与Spring配置整合在一起(可以删除hibernate.cfg.xml文件); 3、导入数据库源所要使用的Jar包,如:DBCP所用的JAR包(commons-pool.jar); 4、修改所有DAO的hibernate实现,因为Spring中提供了一个HibernateDAOSupport类,可以简化数据库的操作。
使用所有DAO类都继承自该类; 5、将DAO采用依赖注入的方式注入到Biz中,再将Biz采用依赖注入的方式注入到Action中,在Spring配置文件中做相应配置; 6、将Spring与Struts集成: 1)在spring配置文件配置Action:将Biz注入到Action中; 2)修改Struts的配置文件:将Action的type属性修改为:org.springframework.web.struts.DelegatingActionProxy; 3)在web.xml文件中配置监听器以及web应用的初始化参数:
故进行insert、 update和delete操作时会产生异常:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER\\\/MANUAL): Turn your Session into FlushMode.COMMIT\\\/AUTO or remove 'readOnly' marker from transaction definition. 因此需要采用spring的事务声明,使方法受transaction控制:
应将Web应用程序\\\/WEB-INF\\\/lib\\\/asm-2.2.3.jar删除即可。
用MyEclipse整合ssh时总会出现问题,我认为这是MyEclipse本身的问题, 一下是我总结的ssh整合方法,希望有用: 整合小结: 很容器出现一个问题就是:HTTP Status 404 - Servlet action is not available 遇到这个问题的原因(排出配置文件上的问题)一般是jar包问题: 1、由于多余的jar包导致jar包冲突; 比如: 报错的信息是这样的: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava\\\/lang\\\/String;Ljava\\\/lang\\\/String;[Ljava\\\/lang\\\/String;Ljava\\\/lang\\\/String;)V 后面还有一大堆垃圾信息,就不列举了 遇到这样的错误,一般是存在多个版本的asm.jar包所引起的,当然,不是重名,我是删除了asm-2.2.3.jar这个文件,然后重新启动TOMCAT。
你会发现原来的错误信息没有了,接下来可能会出现这样的信息: Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null 这个错误其实是重复的cglib-2.1.3.jar包引起的,因为与另外的一个cglib-nodep-2.1_3.jar冲突了,所以必须要把前面的这个干掉。
这样,就把问题都解决了:) 友情提示一:在使用MYECLIPSE里整合这三个东西的时候,最好不要重复导包。
(其实主要指的是SPRING对HIBERNATE的支持包(ORM),如果在导SPRING包的时候已经进行选择导入的话,再后面导HIBERNATE包的时候,就不需要再选择导入了) 2、由于缺少jar包导致spring初始化失败; 比如: Caused by: java.lang.NoClassDefFoundError: org\\\/dom4j\\\/DocumentException -----------缺少dom4j.jar Caused by: java.lang.NoClassDefFoundError: javax\\\/transaction\\\/TransactionManager----缺少jta.jar 友情提示二:struts-config.xml中的元素有严格的顺序,如果元素的顺序出错,系统会抛出一个错误,描述如下: The content of element type struts-config must match (display-name?,description?,data-sources?,form-beans?,global-exceptions?,global-forwards?, action-mappings?,controller?,message-resources*,plug-in*). [109] 刚看到这个错误,我总以为是某个元素的拼写出了错误,把整个文件仔细检查了一遍,没有发现任何拼写作错误。
查了资料才知道,struts-config.xml中的元素有严格的顺序,他们的顺序应该是象下面这个样子:
友情提示三:如果是部署在tomcat5.5中,并且排除以上所有错误的话,还必须在
还有就是comcat5.5默认的情况下没有开启日志功能,这给初学者带来些不便。
最好使用log4j.方法:在
谁总结下三大框架
框架,顾名思义,一个提供了可重用的公用结构的半成品。
比如简历的模板就是一个框架
在程序中,它的含义也是如此:一个应用程序的半成品,按一定的规则组织的一组组件。
现在项目中最常有的三大主流框架大家一定不会陌生——SSH,现在我们一起来详细介绍一下吧
Struts是最早的java开源框架之一,也是java web框架的事实标准,现在绝大多数java web应用程序都是基于Struts框架构建的,它是MVC设计模式的一个优秀实现。
我们一定要深刻了解Struts的运行原理和核心组件。
Struts的运行离不开他的核心组件,也就是ActionServlet,它需要在容器启动时,加载struts-config.xml。
了解了struts的基础之后,我们可以充分利用DispatchAction和Struts提供的标签库来简化程序编程。
Hibernate是一个优秀的持久化的框架,也是一个主流的ORM(对象——关系映射)框架。
负责简化将对象数据保存到数据库中或者从数据库中读取数据而封装到对象的工作。
记得我们一起用JDBC连接数据库,好多繁琐的代码,学习Hibernate后,我们的代码将会精简许多
比如,加载数据,以前我们需要繁琐的ResultSet读取数据,然后封装到实体,而现在,加载只需一行代码,User user=(User)session.get(User.class,id)。
Hibernate还可以帮我们自动创建DAO类,里面的内容特别的丰富,增删改查,那个都不缺,当使用时,直接调用就可以
代码量大幅度的减少了。
Spring是一个轻量级的框架,它主要作为依赖注入容器和AOP的实现。
还提供了声明式事务,和对DAO层的支持等。
其实本门课程最重要的知识就是大名鼎鼎的SSH集成(Struts+Hibernate+Spring),通过插件的方式,Spring可以与Struts集成,在Struts-config.xml中配置相关的就可以啦
Spring依赖注入在项目中用于管理程序间的依赖,使我们更容易的面向接口编程。
其实SSH集成最大的特点就是配置xml,还有一步步操作,好多东西都是自动生成的,我们需要写的代码,大大减少
编码更加简洁,易懂。
SSH三大主流是我们工作的必杀计,我们一定要好好掌握,只有这样,才能在软件的天地挥洒无尽的光辉



