JAVA的三大框架是什么?如何进行学习的呢? java中三大框架是什么?
Java\u4e09\u5927\u6846\u67b6\u662f\u4e0d\u662f\u975e\u5e38\u91cd\u8981\uff1f\u8fd9\u4e2a\u9700\u8981\u638c\u63e1\u3002\u8fd9\u4e2a\u5c5e\u4e8e\u5e94\u7528\u5c42\u9762\u3002\u4f60\u91cd\u70b9\u662f\u8981\u901a\u8fc7\u6846\u67b6\u5b66\u4f1a\u539f\u7406\u3002\u8fd9\u6837\u4f60\u81ea\u5df1\u90fd\u53ef\u4ee5\u5199\u6846\u67b6\u3002\u6bd4\u5982\u7528\u6237\u767b\u5f55\u3002\u4f60\u53ef\u4ee5\u7528\u5404\u79cd\u9875\u9762\u3002\u4f46\u662f\u767b\u5f55\u5230\u5e95\u600e\u6837\u5b9e\u73b0\u8fd9\u624d\u662f\u539f\u7406\u5c42\u9762\u7684\u4e1c\u897f\u3002\u5f53\u4f60\u4f1a\u5b9e\u73b0\u767b\u5f55\u529f\u80fd\u4e86\u60f3\u7528\u4ec0\u4e48\u9875\u9762\u90fd\u53ef\u4ee5\u3002\u9875\u9762\u5c31\u76f8\u5f53\u4e8e\u6846\u67b6\u968f\u65f6\u53ef\u4ee5\u6362\uff0c\u800c\u539f\u7406\u4f60\u6e05\u695a\u4e86\u4f60\u5c31\u53ef\u4ee5\u81ea\u5df1\u521b\u9020
\u60a8\u597d\uff0c\u4e00\u822c\u8bf4\u7684\u662fStruts+Spring+Hibernate\u3002\u5e0c\u671b\u91c7\u7eb3 \u6211\u662f\u7a0b\u5e8f\u5458
stuts\u6846\u67b6\u8d4b\u503cMVC\u4e1a\u52a1\u8df3\u8f6c
Spring\u8d1f\u8d23\u4e8b\u7269\uff0c\u4f9d\u8d56\u6ce8\u5165\u53cd\u8f6c
HiberNate \u8d1f\u8d23\u6570\u636e\u5e93\u64cd\u4f5c\uff0c\u662f\u6301\u4e45\u5c42\u6846\u67b6
\u8be6\u7ec6\u53ef\u4ee5\u767e\u5ea6\u767e\u79d1\uff01\u5e0c\u671b\u91c7\u7eb3\uff01
三大框架:Struts+Hibernate+Spring。Java三大框架主要用来做WEN应用。
Struts主要负责表示层的显示。
Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)。
Hibernate主要是数据持久化到数据库。
再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当在浏览器上输入URL得知的时候,文件就会根据写的名称对应到一个JAVA文件,根据java文件里编写的内容显示在浏览器上,就是一个网页。
扩展资料:
Java框架益处:
减少设计辛劳:
集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。
提高速度质量:
集合框架通过提供对有用的数据结构和算法的高性能和高质量的实现使你的程序速度和质量得到提高。因为每个接口的实现是可互换的,所以的程序可以很容易的通过改变一个实现而进行调整。
另外,可以从写自己的数据结构的苦差事中解脱出来,从而有更多时间关注于程序其它部分的质量和性能。
API缺点:
许多API天生的有对集合的存储和获取。在过去,这样的API都有一些子API帮助操纵它的集合内容,因此在那些特殊的子API之间就会缺乏一致性,也不得不从零开始学习,并且在使用时也很容易犯错。而标准集合框架接口的出现使这个问题迎刃而解。
参考资料来源:百度百科-Java框架
三大框架:Struts+Hibernate+Spring
Java三大框架主要用来做WEN应用。
Struts主要负责表示层的显示
Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)
Hibernate主要是数据持久化到数据库
再用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有一个mapping的标签就是用来做文件映射的。当你在浏览器上输入URL得知的时候,文件就会根据你写的名称对应到一个JAVA文件,根据java文件里编写的内容显示在浏览器上,就是一个网页。
一 .Struts框架:struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
1.流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
2.架构:Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
Model部分:由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分:该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。
Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。 系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。
二.Spring框架
Spring是一个解决了许多在J2EE开发中常见的的问题的强大框架。Springle提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类变成的好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control 容器。然而Spring在使用IoC容器作为构建玩关注所有架构层层的完整解决方案方面是独一无二的。Spring提供了唯一的数据管理抽象包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping 解决方案。
三.Hibernate框架
Hibernate 是一个开源代码的对象关系映射框架,对JDBC惊醒了费城轻量级的的对象封装,使得Java程序员可以随心所欲的使用对象变成思维来操作数据库。Hebernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用最具革命意义的事,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
1.Session接口:负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
2.SessionFactory接口:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
3.Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
4.Transaction接口:负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
5.Query和Criteria接口:负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
学习可以进群:前面258中间337后面765
所谓三大框架,即struts、spring及hibernate。要想学习好三大框架,快速掌握,最好的方法无疑是理论与实践结合,由简入繁,由单一到全部,逐一攻克,具体学习步骤如下:
1、先学习struts,struts是世界上第一个经典的mvc框架,其作用就是将业务逻辑与视图分离开来,使得项目层次分明,清晰,更具有结构性。学习一个框架,首先要知道这个框架的作用,有哪些特征,然后就是了解其实现原理,最后就是结合实际项目例子来进一步加深对这个框架的理解。
2、struts掌握了后,接着学习spring,spring就是一个大的工厂,其轻量理强大,它改变了传统的编程模式,将实例化bean交给了容器管理,使得项目中类的耦合度大为降低。spring的特性很多,较为有名就是IOC(控制反转)与AOP(面向世面编程)。要想学习好spring,就要先掌握相应的理论知识点,然后就是动手敲代码,将它的每一个特性都实现一遍,功力到了,自然就掌握了。
3、掌握了以上两大框架之后,可以继续深入学习hibernate框架了。hibernate是一个orm-maping框架,即对象关系映射,将数据库表反转映射成实体对象,使得用户在操作底层数据库时,不用再写那些繁琐的SQL语句,而是通过直接操作对象将数据持久化到数据库。学习好hibernate,首先要掌握其原理,映射配置,然后就是对其每一个特性进行编码验证,如一对一,一对多,多对多关系映射等。可以不结合项目,只要能连上数据库进行相应操作即可。
4、三大框架都初步掌握了后,就可以进行整合学习了。三大框架在整合分工也很明确,也是一个经典的MVC框架,其中struts充于其中的V(即视图层),spring充当C(即业务控制层),hibernate充当M(持久层)。整合学习三大框架的难点在于其中的配置,依赖及管理,这非一两天能完成的事情,得要多查阅相关书籍交资料,动手实践,用心体验。
最后,要想学习好框架,除了掌握其原理、特性外,还要多动手编码,多思考,熟能生巧。一句话,纸上得来终觉浅,绝知此事要躬行。
三大框架是用来开发web应用程序中使用的.
Struts:基于MVC的充当了其中的视图层和控制器
Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库
Spring: 采用了控制反转的技术,管理Bean,降低了各层之间的耦合.
一.Struts框架
Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
架构:Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
二.Spring框架
Spring是一个解决了许多在J2EE开发中常见的的问题的强大框架。Springle提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类变成的好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而Spring在使用IoC容器作为构建玩关注所有架构层层的完整解决方案方面是独一无二的。Spring提供了唯一的数据管理抽象包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。
三.Hibernate框架
Hibernate是一个开源代码的对象关系映射框架,对JDBC惊醒了费城轻量级的的对象封装,使得Java程序员可以随心所欲的使用对象变成思维来操作数据库。Hebernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用最具革命意义的事,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任!
Java的这三大框架各有自己的优缺点,也就意味着是运用在不同的情况下,而不同的企业所要求使用的架构也都不相同。所以,掌握好全面的Java知识点尤为重要!
绛旓細Java涓夊ぇ妗嗘灦锛歋truts锛孲pring锛孒ibernate銆1. Struts鍦ㄩ」鐩腑鐨勪綔鐢 Struts 鍦ㄩ」鐩富瑕佽捣鎺у埗浣滅敤锛屽彧瑕佺敤浜巜eb灞傦紙鍗宠鍥惧眰鍜屾帶鍒跺眰锛塖truts鏈韩鏄娇鐢ㄥ吀鍨嬬殑MVC缁撴瀯瀹炵幇鐨勶紝椤圭洰涓娇鐢ㄤ簡struts涔嬪悗灏辩瓑浜庨」鐩篃鏄竴涓狹VC缁撴瀯锛屼娇椤圭洰缁撴瀯鏇存竻鏅帮紝鍒嗗伐鏇存槑缁嗐係truts鍦ㄩ」鐩腑涓昏璐熻矗瑙嗗浘灞傘佹帶鍒跺眰锛屽湪瑙嗗浘灞...
绛旓細涓夊ぇ妗嗘灦锛歋truts+Hibernate+Spring Java涓夊ぇ妗嗘灦涓昏鐢ㄦ潵鍋歐EN搴旂敤銆係truts涓昏璐熻矗琛ㄧず灞傜殑鏄剧ず Spring鍒╃敤瀹冪殑IOC鍜孉OP鏉ュ鐞嗘帶鍒朵笟鍔★紙璐熻矗瀵规暟鎹簱鐨勬搷浣滐級Hibernate涓昏鏄暟鎹寔涔呭寲鍒版暟鎹簱 鍐嶇敤jsp鐨剆ervlet鍋氱綉椤靛紑鍙戠殑鏃跺欐湁涓獁eb.xml鐨勬槧灏勬枃浠讹紝閲岄潰鏈変竴涓猰apping鐨勬爣绛惧氨鏄敤鏉ュ仛鏂囦欢鏄犲皠鐨勩傚綋浣...
绛旓細鎯宠瀛﹀ソJava鐨勪笁澶ф鏋惰嚦灏戦渶瑕2涓湀鐨勫涔犳椂闂淬Java鐨勪笁澶ф鏋舵槸Struts銆丠ibernate銆丼pring锛屼富瑕佺敤鏉ュ仛WEN搴旂敤銆傚叾涓璖truts涓昏璐熻矗琛ㄧず灞傜殑鏄剧ず锛汼pring鍒╃敤瀹冪殑IOC鍜孉OP鏉ュ鐞嗘帶鍒朵笟鍔★紱Hibernate涓昏鏄暟鎹寔涔呭寲鍒版暟鎹簱銆俲ava涓夊ぇ妗嗘灦鎬庝箞瀛 1銆佸厛瀛︿範struts锛宻truts鏄笘鐣屼笂绗竴涓粡鍏哥殑mvc妗嗘灦锛屽叾浣...
绛旓細涓夊ぇ妗嗘灦锛歋truts+Hibernate+Spring銆侸ava涓夊ぇ妗嗘灦涓昏鐢ㄦ潵鍋歐EN搴旂敤銆係truts涓昏璐熻矗琛ㄧず灞傜殑鏄剧ず銆係pring鍒╃敤瀹冪殑IOC鍜孉OP鏉ュ鐞嗘帶鍒朵笟鍔★紙璐熻矗瀵规暟鎹簱鐨勬搷浣滐級銆侶ibernate涓昏鏄暟鎹寔涔呭寲鍒版暟鎹簱銆傚啀鐢╦sp鐨剆ervlet鍋氱綉椤靛紑鍙戠殑鏃跺欐湁涓獁eb.xml鐨勬槧灏勬枃浠讹紝閲岄潰鏈変竴涓猰apping鐨勬爣绛惧氨鏄敤鏉ュ仛鏂囦欢鏄犲皠鐨勩...
绛旓細鍦ㄥ疄闄呭紑鍙戜腑锛java妗嗘灦鍙互璁╀娇鐢ㄨ呭噺灏戝緢澶氶噸澶嶇殑浠g爜锛岃浠g爜鐨勭粨鏋勬洿鍔犳竻鏅帮紝鑳戒负鍥㈤槦寮鍙戞彁渚涗簡涓浜涚幇鎴愮殑鏈哄埗锛岀畝鍖栧紑鍙戦毦搴︼紝鑰屼笖鏂逛究鍚庢湡缁存姢銆俲ava鏈涓夊ぇ妗嗘灦锛屽垎鍒负Struts銆丠ibernate銆丼pring锛屽叿浣撲綔鐢ㄥ涓嬶細1銆丼pring鑳借В鍐冲緢澶氬湪J2EE寮鍙戜腑甯歌鐨勯棶棰橈紝鏀硅繘浜嗘晥鐜囧苟涓斿噺灏戜簡鍙兘鐨勯敊璇紝Spring杩樻彁渚...
绛旓細甯歌鐨勪笁澶ф鏋鎸囷細SSH锛屽嵆锛歋pring銆丼truts銆丠ibernate銆係pring锛氬姛鑳藉己澶х殑缁勪欢绮樺悎娴庯紝鑳藉灏嗕綘鐨勬墍鏈夌殑java鍔熻兘妯″潡鐢ㄩ厤缃枃浠剁殑鏂瑰紡缁勫悎璧锋潵鎴愪负涓涓畬鎴愮殑搴旂敤銆係pring鏄竴涓В鍐充簡璁稿鍦↗2EE寮鍙戜腑甯歌鐨勯棶棰樼殑寮哄ぇ妗嗘灦銆係pring鎻愪緵浜嗗敮涓鐨勬暟鎹闂娊璞★紝鍖呮嫭绠鍗曞拰鏈夋晥鐜囩殑JDBC妗嗘灦锛屾瀬澶х殑鏀硅繘浜嗘晥鐜...
绛旓細Java鏈涓夊ぇ妗嗘灦锛歋truts锛孒ibernate鍜孲pring銆係truts鏄渶鏃╃殑java寮婧愭鏋朵箣涓锛屽畠鏄疢VC璁捐妯″紡鐨勪竴涓紭绉瀹炵幇锛屽畠瀹氫箟浜嗛氱敤鐨凜ontroller锛岄氳繃閰嶇疆鏂囦欢闅旂Model鍜孷iew锛屼互Action鐨勬蹇靛鐢ㄦ埛璇锋眰杩涜浜嗗皝瑁咃紝浣夸唬鐮佹洿鍔犳竻鏅版槗璇汇侶ibernate灏哖OJO涓庢暟鎹簱琛ㄥ缓绔嬫槧灏勫叧绯伙紝鏄竴涓叏鑷姩鐨刼rm妗嗘灦锛孒ibernate鍙互...
绛旓細java涓夊ぇ妗嗘灦鏄粈涔堬紵璁╂垜浠竴璧锋潵鐪嬬湅鍚э紒1銆丼pring锛氬姛鑳藉己澶х殑缁勪欢绮樺悎娴庯紝鑳藉灏嗕綘鐨勬墍鏈夌殑java鍔熻兘妯″潡鐢ㄩ厤缃枃浠剁殑鏂瑰紡缁勫悎璧锋潵锛屾垚涓轰竴涓畬鎴愮殑搴旂敤 銆2銆丼truts锛氬姛鑳藉己澶х殑MVC鏋舵瀯 銆3銆丠ibernate锛氬己澶х殑ORM宸ュ叿锛岀劧鍚庡緢鏂逛究灏嗘暟鎹簱璁板綍杞寲涓java鐨瀹炰綋瀹炰緥锛屽弽涔嬶紝涔熻兘灏唈ava鐨勫疄浣撳疄渚嬩究鍒╁湴...
绛旓細Java鏈涓夊ぇ妗嗘灦锛歋truts,Hibernate鍜孲pring銆俿truts鏄紑婧愯蒋浠讹紝閫氳繃瀛︿範struts鐨勬祦绋嬶紝鏋舵瀯锛宮odel閮ㄥ垎锛寁iew閮ㄥ垎鍜宑ontorller缁勪欢鏉ヤ簡瑙f鏋讹紱Hibernate鏄紑婧愪唬鐮佺殑瀵硅薄鍏崇郴鏄犲皠妗嗘灦锛岄氳繃瀛︿範session鎺ュ彛绛夋潵浜嗚В妗嗘灦銆1.涓夊ぇ妗嗘灦绠浠1銆丼pring Spring 鏄竴涓В鍐充簡璁稿鍦↗2EE 寮鍙戜腑甯歌鐨勯棶棰樼殑寮哄ぇ妗嗘灦. ...
绛旓細java涓夊ぇ妗嗘灦鍖呮嫭锛歴truts 銆乻pring鍜宧ibernate銆傜幇鍦ㄤ竴鑸叕鍙搁兘鑷繁灏佽鐨勬鏋讹紝濡傛灉鏄師灏佷笉鍔ㄧ殑妗嗘灦鐨勮瘽锛宻truts2涓鑸敤鐨勬槸2.18锛宧ibernate鐢ㄧ殑3.64锛宻pring鐢ㄧ殑涔熸槸2.53銆傝繖浜涚増鏈殑鍏煎鎬у拰鍗忎綔鎬ф瘮杈冨ソ銆