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.*" %>
<html>
<head>
<title>jsp test page</title>
</head>
<body>
<% out.println("hello,world."); %>
</body>
</html>
啓動,catalina start
catalina stop
訪問manager app 需要配置tomcat-users.xml,然後重啓啓動tomcat。
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
啓用https
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat/tomcat.keystore"
密鑰口令:123456
名字與姓氏:172.16.6.14
後面的隨便填寫。
vim server.xml
註銷:<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->
添加:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
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協議)