Java web 主流框架

成熟框架

hibernate 框架

hibernate 是一种ORM框架,全称Object-Relative Database-Mapping,在Java对象与关系型数据库之间建立某种映射,以实现直接存取Java对象(POJO)。ORM框架与MVC不同思想与适用范围。
常规读写操作是:使用JDBC连接读写数据库,最常见的打开数据库连接,使用复杂的sql语句读写,关闭连接,获取的数据又需要转换或封装后往后传,非常繁琐。
而hibernate框架,它需要你创建一系列的持久化层,每个类的属性都可以简单看作是一张数据库表的属性一一对应,也可以实现关系型数据库的各种表件关联的对应。当我们需要相关操作时,可以不用关注数据库表,不用再一行行查询数据库,只需要持久化类就可以完成增删改查功能,相比JDBC方式减少80%编程量。

struts2框架

以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更简洁的MVC设计模式实现的Web应用程序框架。

MyBatis框架

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了Google code,并且改名为MyBatis,2013年迁致GitHub。
MyBatis是基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。

Spring 框架

调用者依赖被调用者,它们之间形成了强耦合,若想在其他地方复用某个类,则这个类依赖的其他类也需要包含,程序就会混乱,且复用性极低。如果一个类做了修改,则依赖它的其他很多类都受到牵连。为此,出现Spring框架。Spring的作用就是完全解耦类之间的依赖关系。一个类如果要依赖什么,通过接口实现。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的类里。即所有类间的依赖关系就完全可以通过配置文件的方式替代了,所以Spring框架最核心的就是所谓的依赖注射控制反转

Spring MVC框架

Spring MVC 已融合在Spring Web Flow里面,可以选择使用Spring的Spring MVC框架或集成其他Struts1,Struts2等MVC开发框架。
它是一个典型的教科书式的mvc构架,与tapestry一样是一个纯正的servlet系统,相比更有优势。

正在兴起的框架

Jersey 框架

Jersey RESTful框架是开源的RESTful框架,与Struts类似,它同样和hibernate,spring框架整合。
由于Struts2+hibernate+spring整合占有率过高,使Jersey介绍很少。但其对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URL即可完成操作。
eg:如果你想要获得服务器数据库中的所有数据;那么你可以在浏览器或者利用Ajax的GET方法,将路径设置好;例如localhost:8080/Student(项目名称)/studentinfo(项目服务总体前缀)/student(处理student对象的签注)/getStudentInfo(最后前缀)。这样就可以获取所有学生信息。你可以选择GET获取的数据返回类型:JSON,XML,TEXT_HTML(String)…获取之后,你可以通过JS将这些数据塞到html或者jsp页面上。

Springboot 框架

springboot框架,被称作一栈式解决方案。比较轻量,也是当前微服务下的趋势;springboot本身就是构建于spring之上,各种思想和特性无需多说,去掉了spring繁琐的配置,简化了原有spring开发的流程,提供了各种实用的特性如metric,actuctor等等;最重要的是springboot附带了整个springcloud生态。对于解决大,中,小项目都没有问题

Vue.js 框架

严格来说这个应该不属于框架,从组建构造上来讲是和reactjs类似的构造UI组件的。提出MV*方案,相比reactjs简单方便,代码清晰,上手较快。

jfinal 框架

JFinal 是基于Java语言的极速web开发框架,在拥有Java语言所有优势的同时再拥有ruby,python等动态语言的开发效率。

框架整合

最初是 Struts+Spring+Hibernate.
后来演变成struts2+Spring+Hibernate.
后来随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring+SpringMVC+Hibernate/Mybatis 互联网这块比较常见的是Mybatis。
逐渐演变成Springboot + Mybatis。

java web 常见框架相关推荐

  1. 轻量级 Java Web 服务框架漫谈

    博文太长了, 还是先说下概要: 框架"轻量"与否可以从两方面来看待: 1) 框架本身的体量 - 例如小 jar 无依赖的苗条框架; 2) 用户使用框架是否获得各种便利而无阻隔(&q ...

  2. Java Web层框架比较

    作者: IT168 戚祥  2007-07-13 -- 比较JSF.Spring MVC.Stripes.Struts 2.Tapestry和Wicket [译者按]这是Matt Raible在今年6 ...

  3. java WEB常见的错误代码

    java WEB常见的错误代码 1xx-信息提示: 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx-成功: 这类状态 ...

  4. Java Web 三大框架开发资料

    Spring MVC Controller配置方式 Spring MVC 中,配置Controller时使用的是URL对应Bean的方式. 在SpringMVC中,对于Controller的配置方式有 ...

  5. java web不用框架_初学javaweb,远离各自框架

    OSCHINA 软件库有一个分类--Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项 ...

  6. java web权限框架_Java Web通用用户权限管理框架设计与实现

    2014年第 3期 计 算 机 与 现 代 化 JISUANJI YU XIANDAIHUA 总第 223期 文章编号 :1006-2475(2014)03-0177-03 Java Web通用用户权 ...

  7. 学写一个 Java Web MVC 框架(一)

    当前我们介绍的是一个简单的MVC,用8个类即实现完整Spring MVC核心功能,外加其他实用的小功能.它是怎么实现的呢?让我们来一探究竟! 源码在:https://gitee.com/sp42_ad ...

  8. Java web 三大框架异常学习总结

    struts2.1.8+hibernate2.5.6+spring3.0(ssh2三大框架)常见异常原因和解决方案 http://www.cnblogs.com/lanxuezaipiao/p/361 ...

  9. 解决Java Web常见的乱码问题

      对于一些新手来说,乱码几乎是家常便饭,而且每当乱码时,网上搜了一大堆解决方案,发现自己的问题还是没能解决,其实这就是平时研究代码不求甚解导致的,乱码问题,也要去分析,然后才能对症下药,才能药到病除 ...

最新文章

  1. 计算机系统的分类补充完整,数据库系统原(理B)13春A卷.doc
  2. Python - 3.6 学习三
  3. linux修改文件权限属性,如何修改Linux文件的属性与权限
  4. 24个很赞的 Node.js 免费教程和在线指南
  5. python第三十二课——队列
  6. [codevs 1743] 反转卡片
  7. 想要成为软件开发中的王者,需要明白的 21 条准则
  8. 网上借鉴及自己对git的认知(很早就写了,一直没有上传,如有误解,请指出)...
  9. excel处理后上传数据库
  10. Cocoapods应用(001-简介以及安装和卸载)
  11. 威胁情报 设备之外的安全能力
  12. 【CCCC】L3-026 传送门 (30分),splay(待复盘)
  13. postman 返回json乱码_post json 中文编码问题
  14. elasticsearch 之index API
  15. 砍价小程序有人做过吗?调用多多砍价记录,可以转口令或者链接的那种
  16. win10系统上玩纸牌游戏
  17. mpeg格式转换成mp4,mpeg转mp4
  18. 微信小程序如何修改单页面背景色
  19. 计算机基础——计算机网络
  20. 关于微信录音的坑 amr格式音频文件HTML无法播放

热门文章

  1. 计算机基础-打字删除后面的字连同消失是怎么回事
  2. 数据库SQL语句UPDATE能否修改主码
  3. freemarker-2、模板字符串中的${}跟freemaker冲突的问题
  4. Redis的清洁——定期删除+惰性删除+内存淘汰策略
  5. redis集群批量删除指定的key
  6. unity获取电磁笔压感_一种智能终端电磁压感笔的制作方法
  7. Vue3使用富文本框(wangeditor)
  8. ESM2蛋白预训练模型 蛋白质、氨基酸向量表示
  9. 能量谷算法Energy Valley Optimizer (EVO)附matlab代码
  10. ai专家人工智能讲师老师叶梓老师《人工智能概念入门》培训人工智能项目咨询-8