一。什么是java

Java是一个优秀的编程工具,可以“一次编译,到处运行‘,自备’内存回收机制‘,具备丰富的api,应用广泛。

Java由四部分组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口。


Java分为三个体系

J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。


二。名词解释

JDK:java development kit

JRE:java runtime environment

JVM: java virtual machine

JSP:java server page

Jasper:将jsp编译成servlet的工具

applet:在客户端运行的java程序

servlet:在服务端运行的java程序

Jetty & Resin :jsp类的非官方实现


JRE=jvm+java-api+java

JDK=JRE+javac+tookkit


J2SE=jre+JNDI+JAXP

JNDI: java naming and directory interface java命名和目录访问接口,用以定义资源

JAXP:java api for xml processing 解析xml的api(java大量使用到了xml)


j2EE=j2SE + JMS+JMX+EJB,当然还有jsp和servlet

EJB:enterprise javabean java各种高级功能的实现,如RMI(remote method invocation)

对象,关系映射,跨越多个数据源的分布式事务

JMS:java messaging service 异步消息服务,可以使j2ee应用跟非Java程序透明通信

JMX:java management extension 交互式运行和监控java程序


J2ME=J2SE+sun java wireless toolkit

J2ME的架构分为Configuration、Profile和Optional Packages(可选包),用于移动设备和嵌入式设备上java开发

三。tomcat组件

顶级组件:server ,service

连接器组件:connector(http+ajp)(http又分为apr和非apr)

容器组件:engine,host,context

嵌套组件:logger realm valve

其他组件:globalnamingresources,resource ,listener,cluster

四。tomcat的工作模式

1.stand-alone 自己处理所有的http响应和servlet处理

2.proxy 处在代理服务器的后端,connector可以为http或ajp

3.cooperation 与apache一起工作,可使用ajp协议传递信息


五。jsp解析流程


假设tomcat工作在stand-alone模式

客户请求的url为 http://www.test.com/index.jsp

1.url request 被http connector组件 截获,转交给engine组件,并等待结果

2.engine组件将url送给www.test.com 虚拟host组件

3.host组件将url送给docBass='/’的context组件

4.context组件用jasper将index.jsp编译为servlet,构建mapping-table并交给jvm

5.jvm执行servlet,并生成'httpServletResponse'对象

6.Context把执行完了之后的HttpServletResponse对象返回给Host

7.Host把HttpServletResponse对象返回给Engine
8.Engine把HttpServletResponse对象返回给Connector
9.Connector把HttpServletResponse对象返回给客户browser