也许你学习了那么久的Java了,但如果有人问你什么是JavaEE?你会怎么回答他呢?在此我来谈谈关于JavaEE的相关技术。(仅是个人见解)

在谈JavaEE时,我们首先来了解一下Java平台。目前,Java平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Platform Standard Edition,Java标准版)和适用于企业级应用的JavaEE(Java Platform Enterprise Edition)。而JavaEE是一个开发企业级应用的规范和标准,在现在的企业级开发中最为常用,最受人开发者的青睐。

JavaEE应用程序是由组件构成的,也就是说它是基于组件开发的。组件是具有独立功能的单元,它们通过相关的类和文件组装成JavaEE应用程序,并与其它组件相交互。一个组件的更改不会影响其它组件,代码重复减少,重用率高。有利于良好的分工与协作,实现并行开发。如果是用三层结构开发,那么表示层与数据访问层相互独立,因此美工可以更方便的扩充表示层,使系统具有良好的可扩展性。

在JavaEE的技术体系中,也融合了多种框架技术。其中以SSH(Struts+Hibernate+Spring)框架技术最为出名,这些框架技术代表当前企业(公司)级开发的趋势。当然,也有些比较出名的框架技术,如:Webwork、JSF、EJB、iBATs等等。各种框架技术是在JavaEE的基础上形成的,应用程序是在框架技术创建的。因此,要想学好JavaEE,必先学好基于Servlet技术的JavaEE。如果一入门就学SSH框架技术来搭建,就好像一个人还小时就先学走,不是先学爬,这多少有点赶鸭子上架的“味道”。

JavaEE的技术结构也体现了分层的原理,与C#三层结构差不多。只是“换汤不换药”而已,形式变了,核心的技术内容还是没有变。我们在设计一个系统时,通常都会把系统设计成多层(一般是三层)。设计成三层有什么好处呢?因为任何一个软件或是系统,有80%左右的时间都是处在后期维护的阶段,设计成三层,有利于今后的维护和扩展,也有利于程序的控制和页面的显示。

JavaEE的技术结构分为三层,那么这三层分别是什么呢?其实与C#差不多,分别是表示层、中间层、数据层。C#中的三层分别是表示层,业务逻辑层、数据访问层,只是不一样的说法,但表达的是同一个意思而已。表示层是用户界面,中间层包含各种业务逻辑,数据层是完成对数据的存取和封装。在这三层中,你认为哪层是最重要的呢?也许你认为是业务逻辑层,但是答案是错误的,正确的答案是表示层。试想,你做出的一个Web系统,界面不美观、不友好,用户用都不想用,那还谈什么业务逻辑啊。所以在此我推荐大家,在用三层结构开发一个项目时,首先从表示层入手,先把表示层做好。然后一分析业务逻辑,之后数据访问的思路也就有了。呵呵……

说了那么久的JavaEE技术,那它有什么内容呢?各层又是用什么技术来实现的?我先从表示层说起。

表示层技术是在JSP页面中用HTML标签、JavaScript脚本、Ajax。需要注意的是,Ajax并不是一种技术,而是几种技术的整合。它采用异步请求的方式,主要功能是向服务器端发送请求,处理数据或者根据返回的数据重新显示页面。

中间层技术主要是JSP、Servlet、JSTL、JavaBean、Struts框架。其中JSP是显示动态内容的服务器网页,Servlet是接收客户端的请求并作出响应,JSTL是帮助JSP显示动态内容的标准标签库,JavaBean是JavaEE的模型组件。需要注意的是,Struts框架技术主要是扩充了Servlet。在中间层中,Servlet是重要的组成部分,它控制着其它的组件。

数据层技术用的是JDBC、JNDI、Hibernate框架。其中,JDBC是传统的数据库连接方式,JNDI和Hibernate只是扩展了功能,并没有完全替代了JDBC。现在流行的是关系型的数据库,我们所用的大多数都是,如:SQL Server、Oracle、MySQL等,Hibernate框架技术是以对象的方式操作关系型的数据库,以减少内存的使用。

另外,还有系统集成技术。当你做Web Service时,就不可避免了。在现在阶段,我们如果用SSH框架技术开发,那么Spring就是一个系统集成的框架技术,也是在现阶段用的最多的系统集成技术。系统集成的JAX-WS技术是JavaEE平台的重要组成部分,它简化了使用Java技术开发Web服务的工作。不过,我有点遗憾,不了解JAX-WS技术。

说了那么久了,如果真有时候,有人问你JavaEE是什么呢时,希望我的见解你看后能用上场,最后,祝读者朋友们天天开心!!!

Java,来源于大神的更多相关文章

  1. 【推荐】Java工程师如何从普通成为大神值得一读

    本文源自 http://www.hollischuang.com/archives/489 一点感悟 java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的 ...

  2. 交流希望希望能得到一些大神的指点,加QQ群:249627436 java技术交流群

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 本人学习java,1年多,对一些基本技巧已掌握.为了使自己能力晋升建了一个QQ群:java交 ...

  3. 关于Java8 Stream流的利与弊 Java初学者,大神勿喷

    题目需求: 1:第一个队伍只要名字为3个字成员的姓名,存储到新集合 2:第一个队伍筛选之后只要前3人:存储到一个新集合 3:第2个队伍只要姓张的成员姓名:存储到一个新集合 4:第2个队伍不要前2人,存 ...

  4. java大神进阶之路

    既然励志在java路上走的更远,那就必须了解java的路径.先看图 更加细化的细节如下 一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还 ...

  5. 一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师,请教大神

    一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公 ...

  6. 学习 Doug Lea 大神写的——Scalable IO in Java

    学习 Doug Lea 大神写的--Scalable IO in Java 网络服务 Web services.分布式对象等等都具有相同的处理结构 Read request Decode reques ...

  7. 从菜鸟到大神:Java高并发核心编程(连载视频)

    任何事情是有套路的,学习是如此, Java的学习,更是如此. 本文,为大家揭示 Java学习的套路 背景 Java高并发.分布式的中间件非常多,网上也有很多组件的源码视频.原理视频,汗牛塞屋了. 作为 ...

  8. 老杜告诉你java小白到大神是怎么炼成的(转载)

    老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思 ...

  9. java数据类型易错点简单总结,欢迎大神前辈补充!谢谢

    数据类型那这边看似简单,花了我很长时间也就是才练到几成"功力"吧.还希望路过的大神在下面补充,菜鸟的我深受感谢! 首先看两个思考题 思考题1:请问下面这个有没有问题 double ...

随机推荐

  1. 自定义 URL Scheme 完全指南(转载)

    iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme 用于从浏览器或其他应用中启动本应用. 注册自定义 URL Scheme ...

  2. sql 判断 函数 存储过程是否存在的方法

    下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...

  3. Coding道场:第一次

    10/23日,我在部门内部进行了一次内部学习,使用目前流行的Coding Dojo(道场)方式,进行了TDD开发的演练.演练的题目如下:     有关Coding道场的介绍,请自行百度一下,我就不再多 ...

  4. Memcache学习整理

    一.Memcache 是什么? 组成:程序进程管理.Socket 程序进程:Memcache把内存先分成几个大份,每一份分成多个小份.例如:小份中有5M...0.9M.0.8M.....0.1M,一份 ...

  5. JS/JQuery针对不同类型元素的操作(radio、select、checkbox)

    一.select下拉框 I:javascript方法 1:获取选中的值 F1:   var  myselect=document.getElementById("test");或者 ...

  6. .NET/ASP.NET Routing路由(深入解析路由系统架构原理)

    阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...

  7. 基于php基础语言编写的小程序之计算器

    基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...

  8. LINUX下的PHP

    由于linux系统的稳定性,大部分的PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好的支持,所以对于PHP程序员来说,使用linux的功底也相当重要,接下来总结一下我从 ...

  9. swift判断是否真机or模拟器

    之前一直用的这种,不知道为什么不怎么靠谱 #if TARGET_IPHONE_SIMULATOR//模拟器 #else//真机 #endif 现在用这种: if Platform.isSimulato ...

  10. DBCP连接池简介

    DBCP连接池简介 1.数据库连接基础 数据库连接池基础主要包括以下三个方面的内容:数据库连接池的基本概念.数据库连接池的工作原理.Java开源的连接池.下面将从这三个方面一一介绍: (1)数据库连接 ...