tomcat

01.软件架构【理解】

软件架构介绍
BS:Browser Server 浏览器-服务器模式。客户端使用浏览器来访问服务器。
CS:Client Server 客户端-服务器模式。用户需要在本地电脑上安装客户端软件,再来访问服务器。

c/s特点

在这里插入图片描述

必须在本地电脑安装每一种客户端软件
如果服务器器升级,每个客户端也需要升级。服务器会经常升级,导致客户端会经常进⾏升级并且安装。

B/S特点

[外链图片转存失败(img-6dwU2jWO-1565864875040)(assets/)]

1)	客户端使用的是浏览器,只要有浏览器就可以执行我们程序。
2)	服务器升级,客户端可以无缝升级,就可以直接使用最新的功能。

02.web资源与web服务器介绍【理解】

1.思考
  1. 浏览器浏览的数据叫什么?

  2. 浏览器显示的数据来自于哪里?

2.目标
  1. web资源介绍与分类

  2. web服务器介绍与作用

3.web资源
  • 介绍

    浏览器能看到的所有数据都是web资源
    
  • 资源分类

    • 静态资源

      浏览器访问的资源是服务器上的物理文件(html,jpg,png,js,css)
      

  • 动态资源

    浏览器访问的资源是服务器运行的代码(java代码)产生的数据
    
  • 动态资源技术

    servlet,JSP,asp.net,PHP,Python
    
3.web服务器介绍
  • 介绍

    web服务器就是运行在高性能计算机上的一个软件,软件对外提供服务。那么这台电脑统称服务器
    
  • 作用

    有能力将本地的资源(静态和动态)提供给外界用户使用浏览器访问。
    
4.常见web服务器软件的介绍
  1. weblogic,oracle公司

    [外链图片转存失败(img-4PAFsktK-1565864875041)(assets/)]

  2. websphere,ibm公司

    [外链图片转存失败(img-pygdTFYd-1565864875042)(assets/)]

  3. 其他

    [外链图片转存失败(img-ocMrEq0u-1565864875042)(assets/)]

  4. tomcat,apache开源组织,免费

    [外链图片转存失败(img-VOFeG1Ic-1565864875043)(assets/)]

5.小结
  1. web服务器的作用

    将服务器本地的资源提供给外界用户使用浏览器访问
    
  2. web资源分类

    静态资源
    动态资源(重要)
    

03.案例模拟一个web服务器案例【了解】

目标

了解web服务器与浏览器底层通信的原理,socke网络编程

需求

使用socket模拟一个web服务器:实现用户从浏览器访问服务器时返回一个网页给浏览器显示。

分析

[外链图片转存失败(img-ZLgtacYZ-1565864875043)(assets/)]

实现步骤

下面的案例注意必须使用:IE浏览器,因为不会校验服务器的真实性,不可以使用localhost

[外链图片转存失败(img-0hzPnj2H-1565864875044)(assets/)]

package com.itheima.web;

import com.sun.jmx.snmp.Timestamp;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 使用多线程的方式创建一个Web容器
 */
public class MyTomcat  extends  Thread {

    //创建一个成员变量
    private Socket socket;

    //创建一个构造方法
    public MyTomcat(Socket socket) {
        this.socket = socket;
    }

    //每个线程处理资源的代码
    @Override
    public void run() {
        //将本地的网页发送到浏览器,IE
        //创建文件输入流
        try(FileInputStream in = new FileInputStream("d:/MyWeb/index.html");
            //Socket得到输出流
            OutputStream out = socket.getOutputStream();
        ) {
            byte[] buf = new byte[1024];
            int len = 0;
            while((len=in.read(buf))!=-1) {
                out.write(buf,0,len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws IOException {
        //使用网络编程
        ServerSocket serverSocket = new ServerSocket(8080);
        System.out.println(new Timestamp(System.currentTimeMillis()) + " 服务器启动");
        while(true) {
            //等待用户请求
            Socket socket = serverSocket.accept();  //表示有用户已经连接,让每个用户都有一个单独的线程去处理
            System.out.println(new Timestamp(System.currentTimeMillis()) + "有" + socket.getInetAddress().getHostAddress() + "用户连接");
            //每个用户创建一个对象,传递Socket对象
            new MyTomcat(socket).start();   //启动了一个线程去处理这个用户
        }
    }
}
小结
  • 浏览器与服务器的底层通信原理技术是什么?
socket网络编程

04.tomcat下载与安装【应用】

目标

会tomcat下载与安装,会发布一个资源给外界用户使用浏览器访问

实现步骤

1.下载

[外链图片转存失败(img-XnKMkZTJ-1565864875044)(assets/)] 

2.安装(解压)

[外链图片转存失败(img-1mAVfTAu-1565864875044)(assets/1545981828798.png)] 

3.启动tomcat服务器,执行命令tomcat/bin/startup.bat,双击运行

[外链图片转存失败(img-5h37SYN7-1565864875045)(assets/)] 

4.使用浏览器访问tomcat,如下图说明服务器启动成功,如果能看到一只猫就说明安装成功了

[外链图片转存失败(img-kJwLc1KS-1565864875045)(assets/)]

[外链图片转存失败(img-dDztPRMl-1565864875046)(assets/)]

小结

tomcat启动命令

startup.bat

tomcat服务器占用端口号

8080

05.tomcat安装常见问题【应用】

目标

可以解决tomcat安装过程中出现的问题

常见问题
  1. 一闪而过

    由于没有配置环境变量JAVA_HOME导致。因为tomcat是利用java开发的软件,必须运行在JVM上。

    第一个JAVA_HOME(必须配置)

    [外链图片转存失败(img-VEcriS4x-1565864875047)(assets/)]

  2. 端口8080被占用

    错误消息如下

    [外链图片转存失败(img-uk9vyOem-1565864875047)(assets/)]

    • 找到占用端口的软件,结束应用程序,之后再启动tomcat

      打开cmd运行命令,输入netstat -nao|findstr “8080” 查询占用8080端口的程序

      查看当前电脑所有程序占用端口号

    netstat -nao

    
    > n,显示端口号
    >
    > a,显示所有的程序
    >
    > o,显示程序的进程号PID 
    
     ![\[外链图片转存失败(img-EokGZsgD-1565864875048)(assets/)\]](https://img-blog.csdnimg.cn/20190815184002200.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0J1bGlkX0V2b2x0bw==,size_16,color_FFFFFF,t_70)
    
     发现使用这个端口的pid进程号22024,打开任务管理器,找到对应程序进行结束
    
     ![\[外链图片转存失败(img-EZxUpqgZ-1565864875048)(assets/)\]](https://img-blog.csdnimg.cn/20190815184015859.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0J1bGlkX0V2b2x0bw==,size_16,color_FFFFFF,t_70)
    
    鼠标放在名称附件右键,选中“选择列”,勾选如下图
    
    ![\[外链图片转存失败(img-cianpafR-1565864875048)(assets/)\]](https://img-blog.csdnimg.cn/20190815184030135.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0J1bGlkX0V2b2x0bw==,size_16,color_FFFFFF,t_70)
    
    
    
    
  • 修改tomcat默认端口,修改后再访问

    修改tomcat/conf/server.xml配置文件中配置的端口号的位置

     <Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                   redirectPort="8443" />
    

    修改为9090

     <Connector port="9090" protocol="HTTP/1.1"
                connectionTimeout="20000"
                   redirectPort="8443" />
    

    注意:修改了配置文件需要重启tomcat

    [外链图片转存失败(img-6LnyUGYb-1565864875049)(assets/)]

http协议(不加密传输)协议浏览器默认访问端口号是80,如果是可以不写

[外链图片转存失败(img-A0amO2uG-1565864875049)(assets/)]

https(加密传输)协议浏览器默认访问端口号是443

[外链图片转存失败(img-l1DrQIEI-1565864875049)(assets/)]

小结

常见问题有2种

1.没有设置环境变量JAVA_HOME
2.tomcat端口8080被占用

06.tomcat目录结构介绍【理解】

目标

通过介绍tomcat目录结构需要了解以后我们经常使用目录,发布资源在哪里发布

目录介绍

[外链图片转存失败(img-EwzTZgKs-1565864875050)(assets/)]

小结

bin命令目录

conf配置目录

webapps发布资源目录

logs日志

07.tomcat发布资源方式1-webapps发布【应用】

目标

使用服务上的webapps目录发布资源,这个目录也叫服务器资源根目录

实现步骤
  1. 在这个目录里面创建一个资源目录

  2. 资源目录里面创建一个资源文件

    [外链图片转存失败(img-rKVs1BlK-1565864875050)(assets/)]

  3. 使用浏览器访问

    [外链图片转存失败(img-8MucQhQ8-1565864875050)(assets/)]

  • 浏览器资源的路径1:http://ip:8080/资源目录/资源路径 ,这种方式必须在webapps里面创建资源目录才可以发布资源

所有发布的资源注意:

​ 资源文件必须资源目录中,不能单独放在webapps根目录下,以下是错误的

[外链图片转存失败(img-jO8BN8TW-1565864875051)(assets/)]

​ 访问:

[外链图片转存失败(img-LXHL8tJk-1565864875051)(assets/]

  • 浏览器资源的路径2:http://ip:8080/资源文件路径,这种方式是因为资源文件放到了ROOT根目录下,这是资源根目录(资源放在ROOT里面访问的时候不用写ROOT目录)放在别的目录里面就必须写目录名字才能访问
  • 如下演示:将资源发布到ROOT下面

[外链图片转存失败(img-UohY3l4k-1565864875051)(assets/)]

直接访问资源文件的效果

[外链图片转存失败(img-kzEME99n-1565864875051)(assets/)]

小结

webapps是发布资源目录,资源文件必须放在资源目录下,如果希望不写资源目录访问资源,那么必须将资源文件放到ROOT目录下, 否则其他资源文件必须使用资源目录名字才可以访问

08.tomcat发布资源方式2-server.xml虚拟目录发布【了解】

目标

通过虚拟目录资源发布方式可以将资源发布服务器的外部(不在webapps里面)

实现步骤
  1. 修改配置文件server.xml,在host标签里面增加Context标签节点

    <Context path="虚拟资源目录"  docBase="真实发布资源目录"/>
    

    浏览器访问路径:http://localhost:8080/虚拟资源目录/资源路径

    [外链图片转存失败(img-5x2LMRmq-1565864875052)(assets/)]

    真实目录的位置如图

  1. 这种方式改了配置文件,需要重启服务器才有效果

  2. 浏览器访问

    [外链图片转存失败(img-HwzwXxJw-1565864875053)(assets/)]

思考

上面没有指定访问的资源文件名字,为什么会访问index.html资源文件呢?

设置因为服务全局配置文件设置了欢迎页面,就是没有指明访问哪个资源文件服务会默认访问欢迎页面

tomcat服务器全局web.xml文件(tomcat/conf/web.xml)默认欢迎页面的设置

[外链图片转存失败(img-3fWqcFr6-1565864875054)(assets/)]

小结
  1. 如何实现server.xml虚拟目录发布?

    
    
  2. 虚拟目录发布的好处是什么?

    
    

09.tomcat发布资源方式3-独立xml虚拟目录发布【应用】

目标

学会独立xml方式发布资源,知道这种方式是不需要重启服务器就可以看到效果

实现步骤
  1. 准备一个独立xml文件,里面需要配置Context标签节点

    [外链图片转存失败(img-YVQntcaX-1565864875055)(assets/)]

    [外链图片转存失败(img-irGBrq6z-1565864875055)(assets/]

  2. 将这个配置文件放到apache-tomcat-8.5.27\conf\Catalina\localhost目录下,服务器自动加载配置文件

  3. 观察服务器是否加载了配置,如果加载了,再进行浏览器访问

    [外链图片转存失败(img-6UDkCNyO-1565864875056)(assets/)]

    浏览器访问地址:http://localhost:8080/two/资源路径

    [外链图片转存失败(img-dfgO5a7S-1565864875056)(assets/)]

小结
  • 独立xml虚拟目录发布的好处是什么

不用重启服务器




### 10.IDEA绑定tomcat【应用】

##### 目标

掌握idea配置tomcat,以后通过idea操作tomcat启动与关闭,部署项目

##### 配置步骤

![\[外链图片转存失败(img-WjXWGwzw-1565864875056)(assets/)\]](https://img-blog.csdnimg.cn/20190815185206480.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0J1bGlkX0V2b2x0bw==,size_16,color_FFFFFF,t_70)

配置好的后的界面,点击OK

![\[外链图片转存失败(img-qhseizQL-1565864875057)(assets/)\]](https://img-blog.csdnimg.cn/20190815185217432.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0J1bGlkX0V2b2x0bw==,size_16,color_FFFFFF,t_70)

##### 小结

1. 为什么在idea里面配置tomcat?

以后使用idea操作tomcat启动、关闭、部署项目




### 11.Servlet开发体验1-Servlet2.5配置文件方式【应用】

##### 目标

使用tomcat发布动态资源(使用idea操作tomcat自动发布资源)

##### servlet介绍

一个 服务端Java的小应用程序,全称server applet ,运行在Web 容器中,处理用户的请求并且做出响应数据给浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值