java:
 编程语言:
  系统级:c ,c++,go
  应用级:c#,java,python,perl,ruby,php
   虚拟机:jvm,pvm
   动态网站:.asp .net jsp
 
 动态网站:
  客户端动态:
  服务器动态:
   CGI
  webapp server:
   jsp:tomcat,jboss,jetty,resin
   php: php-fpm
  1995:Java 1.0 write once,run anywhere
  1996:JDK,包含一个JVM
  1997:JDK 1.1
   jar文档个数,JDBC ,JavaBeans
  1998:JDK 1.2
   Sun把Java技术拆分为三个方向:
    J2SE:Standard Edition
    J2EE:Enterprise Edition
    J2ME:Mobile Edition
   JIT编译器:Just In Time 即时编译器
  2000:JDK 1.3
   1999:HotSpot虚拟机
  2002:JDK 1.4
  2006年,SUN开源了JAVA技术; 
  虚拟机:JRockit,HostSpot
 java体惜结构:
  java编程语言:
  java class文件格式:
  java API:
  java VM:
 JVM的核心组成部分:
  class loader
  执行引擎
 java编程语言的特性:
  面向对象,多线程,结构化错误处理
  垃圾收集,支持动态链接,动态扩展

  
TOMCAT:
 核心组件:
  catalina:servlet contniner
  coyote:http connection
  jasper:JSP Engine
 目录结构
  bin:脚本及启动时用到的类
  lib:类库
  conf:配置文件
  logs:日志
  webapps:应用程序
  work:工作目录
  temp:临时文件目录

 部署后添加
  vim /etc/profile.d/java.sh
   export JAVA_HOME=/usr/java/latest
   export PATH=$JAVA_HOME/bin:$PATH
   . /etc/profile.d/java.sh
  vim /etc/profile.d/tomcat.sh
   export CATALINA_BASE=/usr/local/tomcat
   export PATH=$CATALINA_BASE/bin:$PATH
   . /etc/profile.d/tomcat.sh
 配置文件:
  server.xml:主配置文件
  context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序
  下得WEB-INF目录,用于定义会话管理器,JDBC等,
  web.xml:每个webapp部署之后才能被访问,此文件用于为所有的webapp提供默认部署位置
  tomcat-users.xml:用户认证的账号密码配置文件;
  catalina.policy:用于实现安全运行策略
  catalina.properties:JAVA属性的定义文件,用于设定类加载器路径等,以及一些jvm调优参数
  logging.properties:日志相关的配置信息
  将源文件放到webapp里面 
 测试:jsp
  <%@ page language="java" %>
  <%@ page import="java.util.*" %>
  
    
      jsp test page
    
    
      <% out.println("hello,world."); %>
    
  
  启动,catalina start
     catalina stop
    
 访问manager app 需要配置tomcat-users.xml,然后重启启动tomcat。
    
  
  
 启用https
  keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat/tomcat.keystore"
  密钥口令:123456
  名字与姓氏:172.16.6.14
  后面的随便填写。
  vim server.xml
  注销:
  添加:
                  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat/tomcat.keystore" keystorePass="123456" />
 LNMT:
 用nginx反向代理实现动静分离
  location ~* \.(jsp|do)$ {
   proxy_pass http://172.16.6.14:8080;
  }
 LAMT:
  反向代理模块:
   主:proxy_module
   子:proxy_module_http,proxy_module_ajp
   第三方模块:jk(基于ajp协议)