美文网首页
Tomcat简单学习

Tomcat简单学习

作者: 张氏小毛驴 | 来源:发表于2022-04-05 15:00 被阅读0次

    一.Tomcat简介

    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由[Apache](https://baike.baidu.com/item/Apache/6265)、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器[来自百度百科https://baike.baidu.com/item/Tomcat]
    
    Tomcat是免费的,开源的web应用服务器,中小型的JavaEE服务器。
    
    Tomcat简单的说就是一个能运行Java的服务器,底层就是Socket网络通信程序,里面有容器,能跑JSP和Servlet。
    

    二.Tomcat安装和使用

    1. 下载:http://tomcat.apache.org/

    2. 安装

      在window系统中,下载得到压缩包,只需要解压压缩包就好了。

      安装目录最好不要有中文和空格。

    3. 卸载

      直接删除解压后的目录。

    4. Tomcat使用

      • 启动

        进入Tomcat目录下,bin目录下的startup.bat,双击运行即可。

        Tomcat启动成功界面如下:

        [图片上传失败...(image-9b2474-1649142082769)]

        打开浏览器,输入http://localhost:8080,如果能出现Tomcat界面(如下图),则说明Tomcat启动成了。

        [图片上传失败...(image-4b94a9-1649142082769)]

      • 关闭

        正常关闭Tomcat服务器,只要打开Tomcat目录下的bin目录,双击shutdown.bat;或者使用ctrl+c

        如果是直接点击startup窗口的X来关闭,不属于正常关闭的。虽然也可以关闭,但是属于强制关闭。

    5. Tomcat启动可能遇到的问题

      前面讲了Tomcat的启动,是比较顺利的,但也不是一定就能顺利启动的,总会有些问题发生。可能遇到以下问题,做个记录:

      • 双击startup.bat,黑窗口一闪而过

        这种情况是因为Tomcat其实也是JAVA写的,也依赖jdk,因为没有正确的配置JAVA_HOME环境变量导致。

        解决方法:正确配置JAVA_HOME环境变量

      • 启动报错(大概率是端口问题)

        1. 可以通过找到占用的端口,并找到对应的进程,直接杀死进程。

          在cmd窗口中输入netstat -ano,看看谁占用了8080端口(Tomcat默认端口是8080),然后根据进程号,关闭这个进程

        2. 也可以通过修改Tomcat的配置,把端口号改掉。

          进入Tomcat主目录,打开conf下的server.xml文件,将端口号8080修改成其他的

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

          一般我们会吧tomcat的默认端口号改为80,80端口是http的默认端口,这样的好处就是在浏览器访问时候不需要输入端口号,比如访问tomcat,使用http://localhost就可以了。

    三.Tomcat目录结构

    Tomcat的目录结构如下图所示:

    [图片上传失败...(image-1d65d1-1649142082769)]

    目录简单介绍:

    • bin

      存放windows或linux平台上启动和关闭tomcat的脚本文件。

    • conf

      存放tomcat服务器的各种配置文件,主要关注server.xmlweb.xml

    • lib

      存放tomcat服务器以及所有web应用都可以访问的jar文件

    • logs

      存放tomcat执行时的日志文件

    • temp

      存放tomcat运行时的临时文件

    • webapps

      tomcat的web发布目录,外部访问的web应用都放在这个文件夹中

    • work

      存放jsp编译后生成的对应的serverlet文件和.class文件

    四.Tomcat部署项目

    webapps目录是tomcat用来部署应用的,将我们的web应用放到这个目录下,我们的应用就会管理起来了。
    
    以下以例子来说明。
    

    例子:在webapps下创建一个web应用HelloWorld,在HelloWorld目录下创建一个index.html,然后访问index.html。

    index.html文件内容:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>HelloWorld</title>
    </head>
    <body>
        HelloWorld 你好!
    </body>
    </html>
    

    启动Tomcat,访问:http://localhost:8080/HelloWorld/index.html,如下

    [图片上传失败...(image-130e88-1649142082769)]

    如果我们想将index.html设置为HelloWorld站点的首页,就需要编辑web.xml文件了。

    可以如下操作:

    在HelloWorld目录下新建一个目录WEB-INF(名字就得叫这个),在WEB-INF中创建一个web.xml(如果web.xml不会写,可以从其他web应用中复制一份过来,复制webapps/ROOT/WEB-INF/web.xml)

    然后在web.xml中添加以下内容:

    <welcome-file-list>         
        <welcome-file>
            index.html
        </welcome-file>
    </welcome-file-list>
    

    重新启动tomcat,直接访问:http://localhost:8080/HelloWorld,效果如下图

    [图片上传失败...(image-18d8b8-1649142082769)]

    五.Javaweb项目web目录结构

    Javaweb项目部署的web目录结构是这样子的:

    [图片上传失败...(image-fea38d-1649142082769)]

    六.Tomcat虚拟目录配置

    默认情况下,只有webapps目录中web应用目录才会被Tomcat当用一个web应用管理,但这样一来所有web项目都必须放在webapps目录下,如果太多项目放一起,可能造成磁盘空间不足等问题,也不是很方便web项目的管理,所以需要重新配置tomcat的虚拟目录,虚拟目录就访问web应用时候的根目录。比如上述例子中http://localhost:8080/HelloWorld,/HelloWorld就是虚拟目录,只是他与项目名字一样。
    
    有两种方式配置虚拟目录:
    
    • 配置conf/server.xml文件

      在server.xml文件中添加以下内容:

      <Context path="/Helloworld1" docBase="E:\Helloworld1"/>

      其中,path表示访问时输入的web项目名(虚拟目录,可以随意),docBase表示项目的绝对路径

      例子:

      1. 在E盘下创建目录Helloworld1目录,在Helloworld1目录中创建一个WEB-INF目录和hello.html
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
      </head>
      <body>
          <h1>你好,我是Helloworld1</h1>
      </body>
      </html>
      
      1. 打开tomcat目录下的conf目录,编辑里面的server.xml

        添加<Context path="/haha" docBase="E:\Helloworld1"/>

        [图片上传失败...(image-bc7118-1649142082769)]

      2. 启动tomcat,访问站点:http://localhost:8080/haha/hello.html,结果如下图

        [图片上传失败...(image-ba99f7-1649142082769)]

    • conf/Catalina/localhost创建任意名称的xml文件

      第二种方法就是进入到tomcat根目录下,在conf/Catalina/localhost目录下创建一个xml文件,这个xml文件的名字就是站点的虚拟目录名字,这个xml文件内容为:

      <Context docBase="E:\Helloworld2"/>

      例子:

      1. 在E盘下创建目录Helloworld2目录,在Helloworld2目录中创建一个WEB-INF目录和hello.html

        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Document</title>
        </head>
        <body>
            <h1>你好,我是Helloworld2</h1>
        </body>
        </html>
        
      2. 在tomcat根目录下的conf/Catalina/localhost目录下创建一个XML文件,命名为hehe

      3. 在hehe.xml文件中写入以下内容

        <?xml version="1.0" encoding="UTF-8" ?>
        <Context docBase="E:\Helloworld2" />
        
      4. 启动tomcat,访问站点:http://localhost:8080/hehe/hello.html,结果如下图

        [图片上传失败...(image-705fc8-1649142082769)]

    相关文章

      网友评论

          本文标题:Tomcat简单学习

          本文链接:https://www.haomeiwen.com/subject/oiqsjrtx.html