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协议)
本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/2049700,如需转载请自行联系原作者