Tomcat

  • bin: 脚本程序
  • conf: 配置文件
  • lib: 依赖库文件
  • logs: 日记文件
  • temps: 临时文件
  • webapps: web应用发布目录
  • work: tomcat处理jsp的工作目录

web访问过程

Tomcat

解决端口冲突

  1. netstat -aov: 查找端口对应pid,结束线程;
  2. 修改server.xml配置文件;

创建web项目

  • webName
    • html.css.js文件
    • WEB-INF: 受保护,外部无法访问
      • classes: java类字节码文件
      • lib:java运行时需要的jre;
      • web.xml: 当前web的核心配置文件;

tomcat优化

  • server.xml: 配置 : 设置扫描的jar包;

Context

  • 一个项目相当于一个
  • docBae: web应用存放地址;
  • path: 浏览器端口号后接地址
  • reloadable: true: java字节码文件发生变化,自动重新加载文件;
<Context 
docBase="myTest_2" 
path="/myTest_2"
reloadable="true" 
source="org.eclipse.jst.jee.server:myTest_2"/>

tomcat体系结构

  • Server: 整个servlet的容器组合,含有一个或多个service;
  • service: 由一个或多个Connector,以及engine组成,负责所有centext所获得的客服请求;
  • Connector: 客户机和程序交互组件: 负责接收请求以及向客户机返回响应;
  • Engine: 处理连接器接收到的请求;
  • Host: 虚拟主机;
  • Context: 相当于一个web应用

tomcat响应过程

  1. http://localhost:8080.com,向主机发送请求,通过DNS查询对应的IP地址;
    • 关于查找域名:
    • 查找顺序:1.本机hosts文件 2.DNS
    • 多个域名可以访问同个IP地址 : 不同客户端对应不同域名,但都是同个IP地址,就像设置不同的访问界面;
    • 设置多个虚拟主机;
  2. 获取IP为127.0.0.1的主机,检测其监听端口为8080的服务器,与服务器(tomcat)server连接;
  3. server调用service对应的Connector和Engine连接处理接收到的请求;
  4. 通过Host(虚拟主机)查找Context,返回请求页面;

Tomcat