最近在看设计模式,设计模式讲到了动态代理的实现,书中还介绍了spring的AOP就是基于动态代理实现的,那么我就去看spring的源码,先从servlet入手,尝试在java代码里引用HttpServlet,实际上是引用不到的,我知道缺少了servlet-api.jar,但我的多年开发清楚,这个jar并不存在于jdk中,而是在各个应用服务器中、比如tomcat、was、weblogic等,那是什么来指引这些容器使用相同的规范呢,我百度找了几圈,大多数伙伴都说是在javaee中,我就很好奇,在我的印象中就没有下载过javaee,我便去了oracle官网。。。下载了javaee 8,结果里边就一个glassfish5。。。我凌乱了,servlet api呢?说好的java ee中有的怎么没了,是不是我下错了,不不不,是我误会了,我们来看一下javaee 和 javase到底是怎么一回事
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
是我没有理解红色字的概念,也就是说java ee是包含java se(JDK)和一种规范的称呼,我们已知的是jdk,那么规范指的是谁?是谁定制的规范?
JCP(https://jcp.org),具体自行百度,也就是说jcp定制的servlet规范+jcp的xxx规范+jdk就是java ee了,当然可能还有其他规范,绕了一大圈其实这篇文章的主要目的是给大家提供以下我下载(https://jcp.org/en/jsr/summary?id=servlet)的servlet2、3、4的规范文件,有需要的拿去piao~
链接:http://pan.baidu.com/s/1dF1u9mL 密码:93rb
文中会有很多不足之处,请不吝赐教!