zoukankan      html  css  js  c++  java
  • JavaWeb 之 Web服务器—Tomcat

    一、服务器

      1、服务器

        服务器:安装了服务器软件的计算机

      2、服务器软件

        服务器软件:接收用户的请求,处理请求,做出响应

      3、Web 服务器软件

        web 服务器软件:接收用户发送的请求,处理请求,并响应客户端的请求。

        在 web 服务器软件(web容器)中,可以部署 web 项目,让用户通过浏览器来访问这些项目。

    二、常用的 Java 相关的 web 服务器软件

      1、webLogic

         webLogic:Oracle 公司,大型的 JavaEE 服务器,支持所有的 Java规范,目前应用最广泛的 Web服务器,适合大型项目(收费)

      2、webSphere

          webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

      3、JBOSS

          JBOSS:JBOSS公司的(RedHat),是一个遵从 JavaEE规范的、开源的、纯 Java 的EJB服务器,大型的JavaEE服务器,支持所有的JavaEE规范,(收费的)

      4、GlassFish

        GlassFish:由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)

      5、Resin

        Resin:是 CAUCHO公司的产品,是一个非常流行的服务器,对 Servlet 和 jsp 提供了良好的支持,性能也比较优良(收费,应用比较多)

      6、Tomcat

          Tomcat:由Apache基金组织提供的一种 Web服务器,提供对 jsp 和 Servlet的支持,中小型、轻量级的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的,也是目前应用最广的 JavaWeb 服务器。

       Tips: JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范

    三、Tomcat 服务器和Servlet 版本的对应关系

      

       目前Tomcat应用较多的是 7.* 与 8.*

      注意:

        Servlet 程序从2.5版本也是目前应用最多的版本(使用 xml 配置),到了 Servlet 3.0 之后,就使用注解进行配置。

    四、Tomcat 服务器

      1、下载

        官网地址:http://tomcat.apache.org/

      2、安装

        解压压缩包到非中文无空格的目录中。

        注意:安装目录建议不要有中文和空格

        目录结构图:

           

          Work:目录是 Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp翻译为 Servlet的源码和 Session 钝化的目录。

          扩展:

     1 ① bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出GUI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdown.bat用来停止Tomcat;
     2 ② conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
     3     a、server.xml:配置整个服务器信息。例如修改端口号;
     4     b、tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
     5     c、web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
     6     d、context.xml:对所有应用的统一配置,通常我们不会去配置它
     7 ③ lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的jar包了,所以建议只把Tomcat需要的jar包放到这个目录下;
     8 ④ logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中;
     9 ⑤ temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除;
    10 ⑥ webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字
    11 ⑦ work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下
    12 ⑧ LICENSE:许可证;
    13 ⑨ NOTICE:说明文件
    View Code

      3、卸载

        删除目录即可实现卸载。

      4、启动Tomcat 服务器

        (1)第一种启动方式

          ① 启动:在Tomcat的安装目录 bin 目录下,找到 startup.bat,双击运行该文件即可

          ② 访问,测试是否成功

            浏览器输入:http://localhost:8080 (或http://127.0.0.1:8080)回车访问本机上的服务器;

               浏览器输入 http://ip地址:8080 访问指定PC上的服务器 

            

             Tomcat 启动成功。

        (2)第二种启动方式

           ① 打开命令行

           ② 进入 Tomcat 的bin 目录下

           ③ 使用启动命令:catalina run

                              

        注意:可能遇到的问题

           ① 黑窗口一闪而过

            原因:没有正确配置 JAVA_HOME 环境变量

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

                在配置 JAVA_HOME 时一定要注意以下几种情况:

                a、JAVA_HOME 必须全大写;

                b、JAVA_HOME 中间必须是下划线,不是减号;

                c、JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可,不需要带上 bin 目录。

           ② 启动报错

            原因:有其他的进行占用了端口号

            解决方案:

              a、在 cmd 命令窗口,通过 netstat -ano 命令查看所有的进程,找到占用端口的进程,然后用任务管理器关闭此进程

              b、在安装目录中,找到 conf下面的server.xml 文件,然后修改配置文件中的端口信息

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

              扩展:一般会将 tomcat 的默认端口号修改为80。80端口号是http协议的默认端口号。

      5、Tomcat 的停止

        (1)正常关闭

          ① 运行 bin 目录下面的 shutdown.bat ,就可以停止 Tomcat 服务器;

          ② 在 Tomcat 服务器窗口按 Ctrl+c

        (2)强制关闭

          点击命令窗口的关闭按钮

      6、修改 Tomcat 的端口号

        Tomcat 默认的端口号是:8080

        如果需要更改,找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件

        

    五、Tomcat 部署项目

      1、部署方法一

         方法一:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可

             简化部署:将项目打成一个 war 包,再将 war 包放置到 webapps 目录下即可。(war包会自动解压缩)

         

          在浏览器中输入访问地址格式如下:

          http://ip:port/工程名/目录名/文件名

      2、部署方法二

         方法二:找到 Tomcat 下的 conf 目录 Catalinalocalhost 下,创建一个后缀名为 xml 的配置文件(文件名任意)

            配置文件内容如下:

      <!-- Context 表示一个工程上下文
        path 表示工程的访问路径:/abc
        docBase 表示你的工程目录在哪里
      -->
    <Context path="/abc" docBase="F:ook" />

          浏览器访问该工程路径:http://ip:port/工程路径/       就表示访问了上面的 docBase 目录

           Demo:

          

    六、静态项目和动态项目

          静态项目目录结构:

        •  HTML:存放HTML文件
        •  CSS:存放 css 文件
        •     js:存放 JavaScript 文件
        •     imgs:存放 图片文件

         java 动态项目的目录结构:

          -- 项目的根目录:

           -- WEB-INF 目录:

             -- web.xml:web 项目的核心配置文件

             -- classes目录:放置字节码文件的目录

             -- lib目录:放置依赖的 jar 包

         其中静态项目通过浏览器访问是通过 file 协议。

                   

         而对于动态项目的访问,浏览器中需要输入访问地址进行访问

         

    七、Tomcat 的默认行为

      1、默认访问的工程

          进入 Tomcat 的安装目录下,找到 webapps,可以发现里面有几个已经存在的工程

          

            其中 ROOT 工程就是 Tomcat 默认的访问的工程。所以当浏览器输入 http://ip:port/ 没有工程名时,默认访问的就是 ROOT 工程。

      2、默认访问的页面

          如果浏览器地址栏中输入的地址只有功能名,没有文件名:http://ip:port/工程名 ,默认访问的就是 index.html 页面。

          进入 Tomcat 的安装目录,在 conf 目录下web.xml 文件中可以发现:

                          

           当访问一个项目的项目的时候,默认会访问 index.html,如果没有,依次向下进行访问。

     

  • 相关阅读:
    MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)
    MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
    MySql cmd下的学习笔记 —— 有关视图的操作(建立表)
    MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)
    MySql cmd下的学习笔记 —— 有关多表查询的操作(多表查询练习题及union操作)
    MySql 在cmd下的学习笔记 —— 有关多表查询的操作(内连接,外连接,交叉连接)
    MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)
    MySql cmd下的学习笔记 —— 有关select的操作(order by,limit)
    剑指Offer--第21题 调整数组顺序使奇数位于偶数前面;
    剑指Offer--和为s的连续正数序列
  • 原文地址:https://www.cnblogs.com/niujifei/p/11617229.html
Copyright © 2011-2022 走看看