工具类: JUnit4使用 MyEclipse快捷键 tomcat项目部署方式
相关知识点:JavaSe教程 Java5新特性 Java6新特性 Java7新特性 Java8新特性
——————————————————————————————————————————————————————————————
重新理解JAVAEE:
JavaEE是一个开发分布式企业级应用的规范和标准。Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Standard Edtion,Java标准版)、适用于企业应用的JavaEE(Java Platform Enterprise Edition,Java企业版)。
先来比较javase(JDK的图,包括javase的api)和javaee的组建图,首先知道JAVASE/JAVAME/JAVAEE都是使用JAVA语言编写的代码,只是针对点不同。
JAVAEE是由JAVA编写的特殊类(Servlet/JSP/EJB)+Java代码+java api+组成的一个规范的企业级应用平台,JAVAEE通常结合一些WEB技术来做应用。我们知道tomcat仅仅支持JSP和servlet,也就是说tomcat只能识别这两个“类”。而其他收费的服务器就可以识别所有java编写的“类”,例如:EJB;其实也没别的了吧?其中Servlet就是一个类,而JSP则是 类+类xml的tags +scriptlets 的混合。注意,服务器也是由代码编写的,简单理解服务器是专门识别其他类和请求以及保存数据的特殊程序。
下面来介绍JAVAEE中用到的重要几个技术规范(java 代码),请看下面都是JAVA代码编写的“工具”:
一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。在EJB3.0推出以后,实体Bean被单独分了出来,形成了新的规范JPA.EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。在没有JNDI之前: 开发的时候,在连接数据库代码中需要对JDBC驱动程序类进行应用,通过一个URL连接到数据库。但是这样存在问题,比如我要改一种数据库,是不是要更换驱动,更换URL。每次都要进行这些配置和管理。在有了JNDI之后:可以在J2ee容器中配置JNDI参数,定义一个数据源,在程序中,通过数据源名称引用数据源从而访问后台数据库。在程序中定义一个上下文类,然后用content.lookup("java:数据源名称")就可以成功引入数据源了。
<span style="font-family:KaiTi_GB2312;"><?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>SQLServerDS</jndi-name> <connection-url>jdbc:mysql://localhost:3323/zz</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>rootpassword</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources></span>
RMI(Remote Method Invocation,远程方法调用)是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。用一个很形象的例子,如果有人请我吃饭,她给我打电话占线,她决定先去占个位置,但是如果没有短信技术,那么是不是我就不知道她给我的消息了呢?为了保证这样的异步通信,我可以看到短信,准时去赴约。JMS就是提供了这样一个面向消息的中间件。它们提供了基于存储和转发的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的MOM 通信。MOM提供了有保证的消息发送,应用程序开发人员无需了解远程过程调用(PRC)和网络/通信协议的细节。
JAVAWEB就是利用 JSP+WEB前端技术(HTML/JS)+数据库(ORACLE)+WEB服务器(认识和解析JSP/SERVLET/EJB类的应用程序)来搞开发,后来经过发展,就出来一种编程规范或者编程思想,就是将代码分层,业务和逻辑分开,又将数据访问部分也分开,就形成了所谓的三层架构(MVC),这样开发就比较明朗化了,在到后来,为了进一步加快编程速度,就将共性的代码封装起来重复使用,最后就衍生出了各种层的框架;简单理解,就是将各个层中的JSP代码封装。常见的封装框架:Web Service、Struts、hibernate、spring、mybatis……。