一、服务器

  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 钝化的目录。

      扩展:

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

  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 目录 \Catalina\localhost\ 下,创建一个后缀名为 xml 的配置文件(文件名任意)

        配置文件内容如下:

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

      浏览器访问该工程路径: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,如果没有,依次向下进行访问。

Java 之 web服务器—Tomcat的更多相关文章

  1. java web服务器tomcat介绍【转载】

    机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...

  2. Servlet学习之web服务器Tomcat 详解

    Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...

  3. (转载)关于java多线程web服务器 以及相关资料转载

    1.自己实现的简单的java多线程web服务器: https://blog.csdn.net/chongshangyunxiao321/article/details/51095149 自己实现一个简 ...

  4. Java获取Web服务器文件

    Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式: 方法一: ...

  5. JAVA编写WEB服务器

    一.超文本传输协议  1.1 HTTP请求  1.2 HTTP应答  二.Socket类  三.ServerSocket类  四.Web服务器实例  4.1 HttpServer类  4.2 Requ ...

  6. 实战WEB 服务器(JAVA编写WEB服务器)

    实战WEB 服务器(JAVA编写WEB服务器) 标签: web服务服务器javawebsockethttp服务器 2010-04-21 17:09 11631人阅读 评论(24) 收藏 举报  分类: ...

  7. 一个JAVA的WEB服务器事例

    其实编写一个入门级别的JAVA的WEB服务器,很简单,用SOCKET类即可实现.相关内容可以参考:http://www.cnblogs.com/liqiu/p/3253022.html 一.首先创建一 ...

  8. Web服务器Tomcat集群与负载均衡技术

    我们曾经介绍过三种Tomcat集群方式的优缺点分析.本文将介绍Tomcat集群与负载均衡技术具体实施过程. 在进入集群系统架构探讨之前,先定义一些专门术语: 1. 集群(Cluster):是一组独立的 ...

  9. web服务器tomcat入门实战

    一.tomcat介绍1.1 引入tomcat Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Su ...

随机推荐

  1. 剑指offer:平衡二叉树

    题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 思路分析: 首先要明确平衡二叉树的定义.平衡二叉是左右子树的高度差小于等于1,且左右子树都为平衡二叉树.这里就存在一个递归判断左右子树是否为 ...

  2. Python自动化脚本-运维人员宝典

    文章地址: https://alanhou.org/basic-networking-socket-programming/ 第一章 Python脚本概述 第二章 Python脚本调试和性能测试 第三 ...

  3. 安装EOS合约工具eosio.cdt

    安装: 安装完之后 会产生 eosio-cpp_, eosio-cc, eosio-ld, eosio-pp, and _eosio_abigen (These are the C++ compile ...

  4. spring4.x企业应用开发读书笔记1

    第一章 概述 1 spring 以 ioc 和 aop 为内核,提供了展现层 springMVC.持久层SpringJDBC及业务层事务管理等一站式企业级应用技术. 2spring的特性 方便解耦,简 ...

  5. <img>的title和Alt有什么区别?

    Alt是<img>的特有属性,是图片内容的等价描述,用于图片无法加载时显示,读屏器阅读图片. title 可提高图片高可访问性,除了纯装饰图片外都必须设置有意义的值,搜索引擎会重点分析.鼠 ...

  6. UnicodeEncodeError: 'latin-1' codec can't encode characters,python3 中文乱码

    UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13: ordinal not in range(2 ...

  7. 123456123456#6#---###6%%%----com.zzj.DinosourKnown235---前拼show后广--恐龙百科-66666666

    com.zzj.DinosourKnown235---前拼show后广--恐龙百科-

  8. rabbitmq设置消息优先级、队列优先级配置

    1.首先在consume之前声明队列的时候,要加上x-max-priority属性,一般为0-255,大于255出错  -----配置队列优先级 配置成功后rabbitmq显示: 2.在向exchan ...

  9. 禅道的使用—bug管理工具

    简介 禅道项目管理软件集产品管理.项目管理.质量管理.文档管理.组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程. 1.禅道使用的基本流程 禅道管理软件中,核心的 ...

  10. (CSDN迁移) 输入一个链表,从尾到头打印链表每个节点的值

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 思路1. 翻转链表,使用java自带的翻转函数或者从头到尾依次改变链表的节点指针 /** * public class ListNode { * ...