学习Java EE 心得体会这学期通过对Java EE五部分的学习,掌握了java 的基本开发方法,学习JavaEE 基础部分分为6大部分,分别是基础服务,Java Web开发,Web Service,JSF框架,EJB部分和JPA。
其中第一部分是基础服务部分,此部分包括六章:第一章是概述,介绍了java EE 的发展历史,架构,组件,服务,容器等概念,并介绍了平台角色以及开发环境和应用服务的选择与安装。
第二章讲了使用JNDI 访问明明和目录服务,介绍了什么是命名和服务目录,以及如何通过JNDI 访问Weblogic 提供的命名目录服务。
第三章讲了使用JDBC 访问数据库,介绍了JDBC的基本用法以及连接池的配置和访问。
第四章讲了使用JTA 进行事物处理,介绍了事物处理概念以及如何通过JTA进行事务处理。
第五章RMI :远程方法调用,介绍了RMI 的结构以及如何使用RMI进行编程。
第六章,使用JMS接发消息,介绍了消息服务的概念,在Weblogic 中消息服务相关的配置以及如何通过JMS开发消息发送和接受程序。
J2EE是一种技术,旨在简化企业应用程序的设计和实施。
在本教程中,您将学习J2EE是什么,它的好处,J2EE的主要组成部分,企业应用框架的演变,为什么要使用J2EE,J2EE平台架构,J2EE API和技术和J2EE参考实现。
在继续之前,我们的J2EE讨论让定义企业应用程序是什么。
企业应用程序是一个应用程序,它可能要继续使用他们,同时添加或迁移到一个新的利用互联网,电子商务等新技术的应用,集传统的现有应用程序和数据库。
Java EE 架构分为四层,客户端层,Web层,EJB层和数据库层,其中,数据库层为系统提供数据存储和数据库管理功能,在整个企业级应用中可能村爱很多个数据库,并且采用不同类型的数据库管理系统进行管理。
EJB层也称为业务逻辑层,用于完成系统中复杂的或者共享的业务,这些功能主要是提供客户端层和Web层调用,用户不会直接调用该层。
Web层是基于HTTP 的访问方式,客户通过Web层访问系统的业务逻辑和数据等。
客户端层包括Applet客户端和Application客户端,客户通过客户端的形式访问系统的业务逻辑和数据等。
逻辑中的四层可能不同时出现在系统中,例如某个系统可能只提供Web形式的客户端,并且不使用EJB技术,此时系统图只留下Web层和数据库层。
Java运行环境定义了五种类型的应用组件,包括客户端组件Application和Applet,Web 层组件JSP和Servlet,EJB组件等,这些组件类型是Java EE 产品必须支持的。
其中的JPA是我学习的重点。
JPA包括以下3方面的技术:(1). ORM映射元数据,JPA 支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中.(2). JPA 的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
(3). 查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。
JPA的优势包括:1 标准化,JPA 是JCP 组织发布的Java EE 标准之一,因此任何声称符合JPA 标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA 框架下运行。
2 对容器级特性的支持,JPA 框架中支持大数据集、事务、并发等容器级事务,这使得JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。
3 简单易用,集成方便,JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用javax.persistence.Entity 进行注释;JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。
JPA基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。
4 可媲美JDBC的查询能力,JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。
JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
5 支持面向对象的高级特性,JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。
第二部分是Java Web 开发,其中第七章主要讲了Java Web应用概述,介绍Java Web 的主要技术,发展历史,文档结构,并通过一个简单的例子介绍了Servlet和JSP的运行原理。
第八章主要讲了JSP的基本语法,对JSP的基本语法,指令,动作,内部对象和如何在MyEclipse中开发进行了介绍。
第九章主要讲了JavaServlet技术,介绍如何编写Servlet,如何使用Servlet与客户端进行交互以及Servlet过滤器和Servle监听器的使用。
第十章主要讲EL,介绍EL的基本用法。
其中的JSP是我学习的重点。
JSP技术使用Java编成语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。
JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。
页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。
当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。
这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。
JSP 页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。
基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。
不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。
第三部分主要讲Web Service ,本部分内容主要包括三章。
第十三章主要讲Web Service 概述没介绍了什么是Web Service以及相关概念,包括WSDL,SOAP和UDDI.第十四章主要讲Java EE 对Web Service的支持,包括JAXR,JAXB和SAAJ.第十五章主要是使用JAX-WS开发Web Service,介绍如何使用JAX-WS 编写WebService以及访问WebService 的客户端,包括在MyEcilipse中的开发。
Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的原型,客户端可以通过wsdl来调用实现程序提供的服务代码。
第四部分主要讲了JSF 框架,内容包括五章。
第十六章讲了JSF概述,介绍了JSF 的体系结构,JSF的组成和生命周期等。
第十七章将了一个简单的JSF 应用,介绍了在MyEclipse中如何开发JSF应用。
第十八章主要讲了UI组件,介绍了JSF提供的界面控件。
第十九章主要讲了在JSP中使用JSF,介绍了本地化,转换器,时间监听器,验证器和导航的使用。
第二十章主要是Bean,介绍了辅助Bean的配置,访问和编写。
在这部分中我主要学习了怎样使用JSF编程,其过程主要包括以下几点:第一步,创建web工程J2ee下创建web project,这没什么说的了,不过以前在eclipse 中总是不知道怎么创建web应用,够傻的,原来需要插件,在myeclipse提供了全套的插件。
不过Myeclipse需要破解。
中国程序员似乎很少用正版的。
言归正传,Myeclipse中需要在Open Perspective中选择J2ee enterprse视图。
然后创建web project。
这跟delphi的New一个project不太一样,delphi把所有可以new的都放在一个窗口中,而eclipse有不同的视图来提供管理,这算一种进步吧,插件化的进步。
接下来需要 Add JSF Capability,因为这个类库(不知道是否应该称为类库)支撑了JSF开发需要的组件。
第二步,创建bean.在New-àother中的Myeclipse-àweb-JSF下有managed bean,创建bean可以连Java类文件一起创建,且可以将需要的属性一起完成,myeclipse可以自动完成属性的get,set方法。
是个比较酷的功能。
第三步,创建,编辑jsp文件.在工程的webroot-->web-inf下面有一个facesconfig.xml文件,这个文件是Javabean 的管理文件,同时它管理了页面之间的切换关系,起到导航页面的作用。