• 1. J2EE技术平台胡晓军
  • 2. 课程内容J2EE基础 J2EE主要技术 Servlet与JSP EJB J2EE应用设计模式 主流应用服务器介绍 J2EE应用优化
  • 3. 基于J2EE的Web开发基础企业级应用的要求 J2EE基础 J2EE下常用的Web开发框架
  • 4. 企业级应用的特性企业级应用解决业务问题 包括 安全存储 可恢复性 处理各种类型的业务数据 可能会有多种接口 基于Web的客户接口 给内部用户的GUI应用 给外部应用提供数据 与其他业务系统实现交互接口 需要支持大量用户(从几百到几千,甚至更多) 可能需要从多个存储中整合数据 需要实现一整套的业务规则 可能会与很多其他企业级应用通信 随着业务的增长或变更,企业级应用也要随之灵活变更 如果应用出现问题,企业会因此产生各种类型的损失 以上因素的存在导致企业级应用一般都比较复杂
  • 5. 企业级应用的要求分布式 可移植 面向Web体系 满足企业计算要求 一致性 事务性 安全性 好的特性 可伸缩 可扩展 易维护 遗留系统集成 以上要求需要一个良好的基础架构来支持J2EE
  • 6. 基于J2EE的企业级应用环境
  • 7. 什么是J2EEJava 2 Platform, Enterprise Edition (J2EE) Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric, and component-based enterprise applications J2EE 1.4 Java Platform, Enterprise Edition (Java EE) Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform, Standard Edition (Java SE) and is the industry standard for implementing enterprise-class service-oriented architecture (SOA) and next-generation web applications Java EE 5
  • 8. J2EE的优点J2EE可以提供 分布式、可移植构件的框架 简化服务器端中间层构件的设计 为构件和应用服务器提供标准API 选择J2EE的好处 更短的开发时间 可重用组件 JSP EJB 自由的选择 基于开放的标准 简化的连接 XML,JDBC,RMI-IIOP,Web Service
  • 9. 什么是J2EE运用Java技术开发企业应用的标准 包括了 多层应用开发模型 开发平台 - APIs 和服务 测试软件包 参考实现 将所有Sun的企业技术集合在一个体系结构下的平台 特定版本下的EJB, Servlet, JSP Java Web Server JNDI, JDBC, JTA, JMS, JavaMail,…
  • 10. J2EE技术架构任何平台Java虚拟机J2EE Framework安全组件组件组件组件JCAebXMLJTAJMS…
  • 11. J2EE应用体系架构BrowserServlet or JSPContainersEJB ServerBCHTTPEntity BeanHOMEREMOTESession BeanHOMEREMOTEDataADataJDBCRMI/IIOPJDBCAppServer
  • 12. J2EE主要技术概览展示层 – ServLet/JSP 中间层 – EJB 中间层可用的企业服务 事务服务 JTA 目录服务 JNDI 消息服务 JMS 异步组件 Message-Driven EJB 数据层 - JDBC 远程调用 – RMI/IIOP 使用现有资源 - JCA
  • 13. ServletServlet是Java技术对CGI编程的实现。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。 高效 方便 可移植性好 节省投资
  • 14. Servlet开发如果某个类要成为Servlet,则它应该从HttpServlet 继承, 根据数据是通过GET还是POST发送,重载doGet、doPost方法之一或全部。 doGet和doPost方法都有两个参数,分别为HttpServletRequest 类型和HttpServletResponse 类型。 HttpServletRequest提供访问有关请求的信息的方法,例如表单数据、HTTP请求头等等。 HttpServletResponse除了提供用于指定HTTP应答状态(200,404等)、应答头(Content-Type,Set-Cookie等)的方法之外,最重要的是它提供了一个用于向客户端发送数据的PrintWriter 。 对于简单的Servlet来说,它的大部分工作是通过println语句生成向客户端发送的页面。 必须导入java.io包(要用到PrintWriter等类)、javax.servlet包(要用到HttpServlet等类)以及javax.servlet.http包(要用到HttpServletRequest类和HttpServletResponse类)。 doGet和doPost这两个方法是由service方法调用的,有时你可能需要直接重载service方法,比如Servlet要处理GET和POST两种请求时
  • 15. JSPJavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术。 JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用 println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。 JSP一般在Web服务器端被编译成Servlet后执行 通过定制的Tag实现扩展
  • 16. Servlet VS JSPServlet Java代码中包含部分HTML 适合用来实现企业级应用中的业务逻辑层 一般以Java程序员开发和维护 JSP HTML中包含部分Java代码 适合用来实现企业级应用中的展现层 一般以Web设计人员开发和维护
  • 17. EJBEnterprise JavaBeans(EJB) 是: Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。 EJB容器是: 一个管理一个或多个EJB类/实例的抽象。它通过规范中定义的接口使EJB类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。 EJB服务器是: 管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问。一个EJB服务器必须提供对可访问JNDI的名字服务和事务服务支持。
  • 18. EJB架构
  • 19. EJB分类
  • 20. JDBC提供访问关系型数据库的标准Java API 使用SQL Java 代码调用JDBC库 JDBC装载驱动 驱动与特定数据库连接 可以使用多个驱动,也可以使用多个数据库 可以在不修改程序代码的情况下更换要使用的数据库应用JDBC驱动
  • 21. J2EE应用构成
  • 22. J2EE应用模块Web Modules 是包含Servlets, JSPs, JSP标签库,JAR文件,HTML/XML 文档,图片,Applets等内容的可部署单元 Web模块会打包成WAR文件 WAR文件类似于JAR文件,会在WEB-INF目录下包含一个部署描述文件 web.xml EJB Modules 是包含EJB和相关JAR文件的可部署单元 EJB模块会打包成JAR文件 JAR文件在META-INF目录下包含一个部署描述文件ejb-jar.xml Java Modules 打包成JAR文件的一系列java类