当前位置: 首页 > news >正文

过渡到J2EE

看完J2EE的视频,给我的感受是,理论终究是理论。这个理论就是光说不干,让人有点飘,抓不牢。

通篇理论中最多见的就是配置服务,XML的相关配置使得用J2EE开发的项目重用、扩展和灵活性大大增加了。灵活的有点让我接受不了了

其次,在视频中讲到了很多的新名词,在这里出现了WebLogic ServerEJBJNDIJSP等等比较新的概念。其实,这里边的好多技术名词还是能从我们已学知识中找到近似参照物的。只不过,还是感觉自己之前学到的一些理论知识都跟土匪草寇似的,不是太正规。

以下是我对J2EE中一些核心概念的理解,欢迎拍砖。

JDBC(Java Database Connectivity)

JDBC API为访问不同的数据库提供了一种统一的途径,和我们在.NET下使用的ODBC一样,都是有关数据库应用处理的接口。另外,JDBC对数据库的访问也具有平台无关性。

JNDI(Java Name and Directory Interface)

用我已有知识库中的名词解释,就是JNDI就是一种命名目录管理服务,大家写好的方法类等等都要在JNDI里边“注册”一下才可以。调用的时候,也要从里边去LookUp

EJB(Enterprise JavaBean)

官方的说法是“EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

我给出了一个自己的理解,EJB就是我们平时里嘴上说的、脑子里想的,接口灵活、实现功能的已经封装好的框架。也就是有序管理的一些方法类。

1如何理解蓝颜色部分文字的意义呢?大家怎么看。

RMI(Remote Method Invoke)

从字面理解,RMI是远程调用方法。在视频里所讲的,也是涉及到了相关EJB粒度的粗细问题。当我们使用RMI的时候,那么从网络应用和系统效率等方面考虑就应用粗粒度的EJB

2我不太明白,系统实现调用EJB的时候为何分出LocalRMI两种类型。

JSP(Java Server Pages)

.NET里边的.aspx文件功能结构相近。JSP中是由HTML代码和嵌入其中的Java代码所组成。在页面发送请求到服务器后便对这些Java代码进行处理,然后将生成的HTML页面返回,便完成了一次交互。

Java Servlet

Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML

XML(Extensible Markup Language)

XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。 在这里边,应用XML语言编写了很多的配置文件,类加载信息、数据库表结构信息、EJB调用信息等,这些就像人体的七经八络,联络着一个整体。

正如官方说的“通过将JavaXML的组合,您可以得到一个完美的具有平台独立性的解决方案。 ”

JTA(Java Transaction Architecture)

定义了一种标准的API,应用系统由此可以访问各种事务监控。

这个事件监控需要我们编码实现,和以往我们接触的.NET中一些已经写好的控件事件是不一样的。

JavaMail

JavaMail是用于存取邮件服务器API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。

JMS(Java Message Service)

MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。

J2EE中还介绍了企业级应用的三层架构,数据库的反射配置、级联配置等等需要写到XML文件中的配置信息。

初步接触了一点J2EE,给我的整体感觉就是繁琐和灵活的共存,还有好多一板一眼的规范要去遵循。

期待下一步的DRP项目训练,理论是用来指导实践的,实践是来印证理论的。

相关文章:

  • php的几种运行模式CLI、CGI、FastCGI、mod_php
  • 《新华书目报》对我的整版报道
  • UISlider
  • Java Swing 在JTable里增加动态数据的下拉框
  • JavaScript常用函数总结
  • Mybatis Collection查询集合只出现一条数据
  • Navicat For MySql 9.1
  • codevs1297 硬币
  • 好久没更新了
  • Echarts中graph类型的运用求教
  • haproxy 配置
  • iOS-绘图(Quartz2D)的简单使用(原创)
  • TCC89x的内存分布区域设置
  • spring bean的scope
  • J-Link的RTT功能实践
  • 深入了解以太坊
  • 「面试题」如何实现一个圣杯布局?
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ECMAScript入门(七)--Module语法
  • gops —— Go 程序诊断分析工具
  • JavaScript 一些 DOM 的知识点
  • JavaScript实现分页效果
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • node 版本过低
  • SOFAMosn配置模型
  • SwizzleMethod 黑魔法
  • Vue组件定义
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 微信小程序--------语音识别(前端自己也能玩)
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • const的用法,特别是用在函数前面与后面的区别
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #宝哥教你#查看jquery绑定的事件函数
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (007)XHTML文档之标题——h1~h6
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (二十三)Flask之高频面试点
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (七)理解angular中的module和injector,即依赖注入
  • (十八)SpringBoot之发送QQ邮件
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)c52学习之旅-流水LED灯
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • .NET 分布式技术比较
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @Conditional注解详解
  • [20160902]rm -rf的惨案.txt