Java 技术栈
Java 技术栈主要分为以下5个部分:
- Java 是一门包含了严格和强类型语法的语言。
- Java 2 平台标准版本(Java SE),指的是平台及 java.lang 和 java.io 包中包含的类,它是构建 Java 应用程序的基础。
- Java 虚拟机(JVM)是一个可以运行编译后的 Java 代码的软件虚拟机。因为被编译过的 Java 代码只是字节码,JVM 将在运行代码之前,把字节码编译成机器码(通常被称为即时编译器-JIT编译器)。JVM 还负责管理内存,从而实现了应用程序代码的简化。
- Java 开发工具包(JDK)是 Java 开发者创建应用程序所需的软件。它包含 Java 语言编译器、文档生成器、与本地代码协作的工具和用于调试平台类的 Java 源代码。
- Java 运行时环境(JRE)是用户用于运行编译后的 Java 应用程序的软件。它包含了 JVM 但不包含任何 JDK 中的开发工具。不过 JDK 中也包含了一个 JRE。
这5个组件曾经都只是规范,而不是实现,因此任何公司都可以创建自己的 Java 技术栈实现,例如:IBM Java(IBM Technology for Java Virtual Machine)、Oracle Java(Oracle JDK) 和 开源 Java(OpenJDK)。
Java EE Web 应用程序
Java EE Web 应用程序的组件:
- Servlet 是任何 Java EE Web 应用程序的一个关键组件。Servlet 适用于接受和响应 HTTP 请求的 Java 类,几乎发送到应用程序中的所有请求都将经过某种类型 Servlet 的处理,除了错误的或被其他组件拦截的请求。
- Filter 过滤器可以拦截发送给 Servlet 的请求。通过使用过滤器可以满足各种需求,包括数据格式化、对返回的数据进行压缩、认证和授权。
- Listener 监听器用于监听 Web 应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。监听器可以通知代码多种事件,例如应用程序启动、应用程序关闭、HTTP 会话创建和会话销毁。
- JSP 即 JavaServer Pages 技术,通过使用 JSP 可以为 Web 应用程序创建动态的、基于 HTML 的图形用户界面,不需要手动向 OutputStream 或 PrintWriter 中输入 HTML 的字符串。