Apache maven:Maven 是一个项目管理和构建自动化工具,类似于PHP的composer和JavaScript的npm,是一个包管理工具。它会在一个仓库(Repository)中统一调度加载包,避免包冗余和更新包时的繁琐修改操作!Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:
目录 作用 ${basedir} 存放 pom.xml和所有的子目录, pom(Project Object Model)类似于 composer 的 composer.json ${basedir}/src/main/java 项目的 java源代码 ${basedir}/src/main/resources 项目的资源,比如说 property文件 ${basedir}/src/test/java 项目的测试类,比如说 JUnit代码 ${basedir}/src/test/resources 测试使用的资源 另外,编译好的 *.class 文件会放在 ${basedir}/target/classes 文件夹中, jar文件也会放在 ${basedir}/target 下面!
注:详细的介绍要参考这篇文章:
Apache Maven 入门篇 ( 上 ) Apache Maven 入门篇(下)
Tomcat 服务器:JSP/Servlet容器,负责将JSP页面编译为Servlet(*.java,这是Java类。JSP相当于MVC中的 View),然后将Servlet编译为字节码(*.class,二进制形式。servlet相当于MVC中的Controller,负责调用其他包功能)。生命周期:1.请求到达服务器 --> 2.服务器判断请求的JSP文件是否没有被编译或者是否被修改过,如果是则重新编译JSP文件;否则直接实例化JSP对应的 *.class 文件 --> 3.servlet实例实现功能逻辑,并输出html到服务器 --> 4.服务器将输出的内容发送给浏览器。虽然 tomcat 服务器也是服务器,但是它远远不够Apache或者Nginx强大(反向代理,负载均衡等),所以tomcat服务器就类似于Apache中的 php 模块一样,负责处理解释特定的脚本,通常可以集成到Apache或者Nginx这些服务器上!
Jetty服务器:Jetty服务器扮演的角色跟Tomcat是一样的,是JSP/Servlet容器,它可以以 HTTP 模式直接接受请求,又或者集成到 Apache/Nginx 中,然后通过 AJP 协议和 Apache/Nginx 通信!
注:Tomcat 和 Jetty 服务器的详细介绍和区别可以参考下面的文章:
Apache+Nginx:专业的HTTP服务器,提供很多强大的功能,例如反向代理、负载均衡等。Tomcat 是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器),是 Apache 的扩展。
JBoss服务器:应用服务器,运行EJB的J2EE应用服务器,遵循J2EE规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等;其对servlet的支持是通过集成其他servlet容器来实现的,如tomcat和jetty;也就是说是 tomcat/jetty 的增强版!
注:EJB介绍链接:EJB详解
JSP:Java Server Page,是一种特殊的 Servlet,通过JSP解释引擎解释为Servlet类,再用Servlet引擎解释这个类就行了!
Servlet:这是一个完整的Java类,能够被JVM识别!
JRE:Java Runtime Environment,包括 JVM 标准的实现+核心类库