日期:2014-05-18  浏览次数:20678 次

J2EE中十三个规范解读

        J2EE是为企业级应用开发者设计的庞大工具包,对Java核心规范在大小和广度上都有巨大的扩展。是对现有和新技术的集成,可以大幅度加速应用开发。

        J2EE是一个标准、规范。遵循此规范开发的应用可以做到编写一次,随处运行,实现跨平台运行。一下是这十三种规范,对于规范,我更多的以我自己目前已有的知识来解读一下。


        1.JDBC(Java Database Connectivity)

        名字都和ODBC(Open Database Connectivity)那么相像,给人的第一感觉就是他们要实现的功能差不多,但事实并非仅仅是换了一个字母那么简单。我觉得可以这样理解JDBC:是ODBC与ADO的结合体,创建连接和发送SQL只用JDBC一个就行了,而ODBC只是创建一个连接,还需要用ADO来进行数据操作。


        2.JNDI(Java Name and Directory Interface)

        名字为Java名字和路径的接口,对于这个的理解目前还不是那么深刻。部署EJB、DataSource等,为其提供一个JNDI-NAME,那么在程序中,就可以通过lookup查找这个唯一ID,就可以获得到相应的资源,而这个资源,可以不是本地文件系统中的,这就为分布式的系统打下了很好的基础。

        我感觉这个就像一个k-v对,名字为key,而value是任意对象。


        3.EJB(Enterprise Javabean)

        Javabean的任务是:一次性编写,任何地方执行,任何地方重用。Javabean分为会话Bean(无会话状态的Bean,有会话状态的Bean)、实体Bean、消息驱动Bean。

        关于实体Bean,我感觉很像三层里面的DAL+Entity。只不过,在这里,Bean可以由容器实现,也可以由Bean自己实现。由容器实现,在使用过程中,感觉很像为某个空间设置数据源,只需要通过自己选择一下,语句就可以出来。而有Bean自己控制的Bean,感觉就很像三层里面的DAL+Entiry了。

        会话Bean,可以作为三层架构中的业务逻辑层出现。而消息驱动Bean,更多的是用在了JMS(Java massage Service)中。


        4.RMI(Remote Method Invoke)

        远程方法请求。名如其实,这个是用来调用远程方法的。使用序列化的方式在客户端与服务器之间传递数据,是呗EJB使用的更底层的协议。


        5、Java IDL/CORBA(待日后深入理解)

        JavaIDL使分布式、支持Web的Java应用可以给予IIOP协议透明地调用远程服务


        6、JSP

        JSP页面由HTML代码嵌入其中Java代码组成。怎么嵌入先不管,吃饭理论,ASP学过,这里只变了一个字母,而且要达到的目的也都一样:页面展示。所以对于这个的理解不是那么难。


        7、Servlet

        其实看到这个的时候,我深深感觉到米老师对于各种语言看法的正确性了:语言其实是相同的,真正学会了一门语言,学会另一门语言真的不用多久。不知道大家还记不记得.net平台中的一般处理程序。

        我在学习AJAX的时候,看的是Java版的,里面说让建一个servlet,当时把我给愁的够呛。后来我建了一个一般处理程序,发现结构和servlet差不多,于是就把卸载servlet中的语句写在了一般处理程序中,发现正常执行了。

        所以从.net平台转过来,我觉得可以这将上面两个对应到已学的知识:Asp页面——jsp页面,servlet——一般处理程序。这样,jsp对你来说的新鲜感是不是就小了很多了。


        8.XML(Extensible Markup Language)

        扩展标记语言。这个在学习asp.net的时候,就接触过,只是到现在了,依然没有深入用过。XML是平台独立的,和Java的发展也是相互独立的。正是由于XML的平台独立,使得java的跨平台有了强力的后盾。


        9JMS(java message service)

        看了这部分,第一感觉就是,刚刚做的那个系统,如果用上这个机制,那么会更完美。