警告:此文章是本人深入学习servlet和spring前,根据网上相关资料,在大致了解了javaee的相关概念与背景后,做出的整理和总结。都是一些初学者的个人理解,看过之后请不要轻易相信!
一、JAVAEE规范
首先着重表明JAVAEE是一套规范,说得再实际一些就是一套JAVA接口。规范给出来后就需要有人去实现它,但是谁去实现、如何实现我们不用关心,只要是按规范实现的,对于应用程序开发者使用起来都是一样的。
JAVAEE是一整套大的规范,里面包含很多小的规范,常见的有EJB、Servlet、JSP、JDBC等。
在JAVAEE最初的设计初心中,是希望人们用EJB实现业务核心逻辑,而用Servlet和JSP实现应用程序的web表现和界面相关部分。
1.1、EJB 与 Restful
EJB是啥,通俗地说就是”把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了”。
——这就需要在一台机器上的运行的类可以直接调用另一台机器上运行的类(注意此处的调用不是如今盛行的Restful接口调用,而是像调用本地代码一样调用另一台机器上的代码)。
EJB 是以RMI 技术(Remote Method Invocation,远程方法调用)为基础实现分布式计算。如果说Restful调用是面向资源的,那么EJB不仅面向资源,还面向获取资源的过程。
1.2、JAVAWEB开发与JAVAEE开发
可以说javaee开发包含了javaweb开发:
- javaweb开发:基于Java的一般WEB开发,包括了JSP/SERVLET 需要WEB服务器的支持,比如TOMCAT等.(因此只有一个服务器即可。)
- j2ee开发:然而基于J2EE企业级的开发,他需要的是不只是WEB容器,还需要一个应用服务器,比如TOMCAT/RESIN是WEN容器,JBOSS等是作为应用服务器支持EJB.(需要web服务器和应用服务器)
只不过现在EJB越来越淡出人们视野,所以把javaweb与javaee概念齐平了。
现在所谓的纯javaweb项目也就是把原本要写在EJB中的逻辑写到web层去了。丢弃了EJB,然后把web层再进行分层,比如controller层、service层和dao层,就勉强把如今的service层当作EJB吧。
二、SSH三大框架
SSH指的是Spring、Structs和Hibernate,是javaweb开发中常用的三个东西,人称“三大框架”。把这三个框架放在一起说的原因是因为他们三个解决了javaweb开发中最重要的三个问题。
Struts:
JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件,也就是MVC模式。
Hibernate:
对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
Spring:
两个重要特性:AOP 和 IOC。使用 AOP 后,公共服务 (比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象,而不再需要自己手动在一个对象中去new另一个依赖的对象,从而减少代码间的耦合和复杂度。
从上可以看出,Struts和Hibernate是对Servlet、JSP和JDBC实现的更高一个层次的整理和封装,更加方便地让人去使用,以及有助于写出整洁可读性高的代码。而Spring的重点则是一种设计思想。
三、Spring
上一节中所说的Spring只是狭义的Spring,如今的Spring可不仅仅只是AOP和IOC,它更是一个完整的一站式解决方案,并成为了当下现实意义上不言自明的javaee规范。
参考资料
参考链接:
EJB到底是什么,真的那么神秘吗??
为什么要使用EJB 使用EJB的理由
javaweb开发和j2ee区别
webservice,j2ee,javaweb,ssh框架之间的关系和发展
SSH三大框架的工作原理及流程
谈谈对Spring IOC的理解
本文概述了JAVAEE规范,重点讨论了EJB在分布式计算中的角色和Restful的区别,以及JAVAWEB与JAVAEE的关系。同时介绍了SSH三大框架——Spring、Struts和Hibernate的功能和在JAVAEE开发中的作用。Spring不仅是AOP和IOC的实现,现已成为全面的解决方案。

1万+

被折叠的 条评论
为什么被折叠?



