一。什麼是java
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