tomcat

服务器

动态web资源(如:PHP, JSP, Servlet)运行需要服务器环境

客户端发送请求到服务器,服务器调用动态web资源

Servlet容器、web容器、服务器 (接收请求并且响应)

  • Servlet容器
    java中的动态资源开发技术为Servlet/JSP,但是Servlet、JSP本身不能直接运行,需要运行他们的环境,这样的环境就叫做Servlet容器。

  • web容器
    能够运行web应用的环境叫做web容器。Servlet容器就是web容器,但是web容器不一定是Servlet容器,因为运行.net、PHP的服务器也是web容器,但是不能运行Servlet

  • 服务器
    服务器从硬件上来说,就是一台电脑,只不过配置较高,而今天,我们所学的是服务器的软件,能够让外界访问,对外界提供服务的就是服务器,服务器就是容器,web容器/Servlet容器都是服务器。

常见的服务器

  • WebLogic: BEA公司,大型,收费,支持J2EE规范

  • WebSphere:IBM公司,大型,收费,支持J2EE规范

  • Tomcat :Apache组织,小型,免费,支持JSP以及Servlet规范

tomcat的下载安装配置

下载tomcat
下载地址:http://tomcat.apache.org/

  • 下载时请注意,不同版本的区别:
  • .zip为压缩版,解压后即可使用。
  • .exe为安装版,安装后使用。

安装tomcat

  1. 解压
    将解压版.zip包拷贝到要安装的目录下,解压,改名为tomcat7.0
    注意,安装目录中不允许有空格和中文

  2. 配置环境(解决安装过程中一闪而过的问题)
    Tomcat是java写的,需要jdk支持
    计算机>属性>高级系统设置>环境变量>系统变量>新建>变量名:JAVA_HOME,变量值:jdk根目录>确定

  3. 启动tomcat
    通过 [tomcat]/bin/startup.bat文件 启动tomcat服务器
    通过 [tomcat]/bin/shutdown.bat文件 关闭tomcat服务器
    浏览器访问 http://localhost:8080 如果能够看到tomcat的首页就证明tomcat安装配置成功

  4. 安装常见问题
    端口占用问题:
    1.看是否已经打开tomcat,或是tomcat在关闭时没有正确的关闭,可以运行shutdown.bat命令,然后再次打开

    2.可以在cmd窗口中使用netstat -ano命令查询出哪个程序占用了端口,根据pid,在任务管理器的服务中找到此pid,结束这个程序后再启动tomcat即可

    安装路径问题:
    tomcat安装路径中一定不能有中文和空格,可能一时半会没问题,但是不知道什么时候就可能出现意外。

  5. 修改默认的端口号
    服务器在启动之后默认监听的是8080端口号, 每次访问时都需要在IP地址或者是主机名后面跟上这个端口号,如果想省略不写, 可以将8080改为80(浏览器默认端口)即可

    在[tomcat]/conf/server.xml文件中修改

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

    重新启动服务器生效

tomcat的目录结构

  • bin — 存放tomcat批处理文件的目录

  • conf — 存放tomcat配置文件的目录

  • lib — 存放tomcat运行时依赖的jar包

  • logs — 存放tomcat运行时产生的日志文件的目录

  • temp — 存放tomcat运行时产生的临时文件的目录

  • webapps — 这是和开发人员关系最大的目录,是用来存放web应用的目录,我们开发的web资源最终要保存在这个目录下,外界就可以访问了

  • work — 存放tomcat服务器运行时产生的工作文件的目录

Web应用

所谓的WEB应用就是将为了实现某一个功能而准备的所有WEB资源, 必须按照一定的目录结构组织起来!

组织一个WEB应用

WEB应用||-- html, css, js, jsp…(放在WEB应用根目录下的文件可以通过浏览器直接来访问)|-- WEB-INF 这是一个特殊的目录, 这个目录可以有, 也可以没有,如果有了这个目录,这个目录中可以具有如下内容: (注意: 放在这个目录下的资源文件, 不能通过浏览器直接访问)|-- classes    classes是存放WEB资源中class文件的目录(类似于java工程中的bin目录)|-- lib    lib是存放WEB应用运行时所依赖的jar包的目录|-- web.xml  该文件是WEB应用的核心配置文件,内容可以在[tomcat]/conf/web.xml中复制

部署web应用到虚拟主机中

方式一 (不推荐):

在[tomcat]/conf/server.xml中的<Host></Host>标签内部, 添加一个Context标签, 配置如下:

<Context path="/news" docBase="D:\javaweb\Day08\news1"/>
  • path属性指定WEB应用的虚拟路径,第一个斜杠可以省略;
  • docBase用来指定WEB应用真实路径
  • 可以在浏览器输入相应的虚拟路径网址访问资源

这种方式每次配置完后都需要重新启动服务器才可以生效,所以不推荐

方式二:

[tomcat]/conf/Catalina/localhost(主机名)目录下添加一个xml文件,文件的名字就是Web应用的虚拟路径,在文件中添加内容

例:创建news2文件夹,在[tomcat]/conf/Catalina/localhost目录下添加一个news2.xml文件,文件内容如下

<Context docBase="D:\javaweb\Day08\news2" />
  • 文件名中不能有斜杠,可以用#代替斜杠
  • 这里的xml可以不添加文档声明,解析器可以解析。
  • docBase用来指定WEB应用的真实路径。
  • 路径名:http://localhost/news1/1.html

这种方式配置完后不需要重启服务器就可以起作用

方式三:

直接将Web应用放在localhost主机默认管理的目录下即可

localhost管理的目录是webapps目录,可以在[tomcat]/conf/server.xml中修改,一般不要动

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true">

文件夹的名字成为web应用的虚拟路径。无需重启服务器

例如:创建news3,并放入[tomcat]/webapps中,即可访问

路径名:http://localhost/news2/1.html

配置缺省的Web应用

  1. 第一种配置方式,只需要将path 的值配置为空("")即可。
  2. 第二种配置方式,只需要将xxx.xml文件的名字配置为ROOT.xml即可。
  3. 第三种配置方式,只需要将webapps目录下web应用文件夹的名字配置为ROOT即可。

配置WEB应用的主页

html名称改为index.html后,也可以省略文件名

<!-- 配置文件:[tomcat]/conf/web.xml -->
<!-- 指定缺省的文件名,一般不修改 -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

此时路径名:http://localhost/

注意: 如果三种方式都配置了缺省web应用,优先级规则是: 第一种 > 第二种 > 第三种

虚拟主机

所谓的虚拟主机就是tomcat服务器中的一个站点, tomcat服务器中可以配置多个站点,在访问时就好像访问一台独立的主机一样

tomcat服务器中的一个站点就可以称之为是tomcat服务器模拟出来的一台虚拟主机

配置虚拟主机
第一步:

  • [tomcat]/conf/server.xml文件的Engine标签内部添加一个Host标签,配置如下:
  • 同时在[tomcat]/目录下创建zss文件夹,并放入一个web应用
<Host name="www.zss.com" appBase="zss"></Host>
  • 其中name是必须存在的属性, 用来指定虚拟主机的名称.
  • appBase是可选属性, 用来指定虚拟主机默认管理的目录, 如果没有配置该属性, 表示当前主机没有默认管理的目录(则无法用第三种方式部署web应用)

第二步:

  • 配置完后,还需要在DNS服务器中配置主机名和IP地址的映射关系(注册域名),但是DNS服务器一般不能修改,可以通过hosts文件进行模拟

  • 在下面的路径C:\Windows\System32\drivers\etc中找到hosts文件。

  • 在最后一行加入如下配置:

  • 127.0.0.1 www.zss.com (IP和网址之间是Tab键)

在浏览器输入路径,如:www.zss.com/news1/1.html

配置默认虚拟主机
当通过IP访问服务器时,会访问哪台主机呢?

[tomcat]/conf/server.xml文件的Engine标签上有一个属性defaultHost,可以通过此属性改变默认虚拟主机,比如(默认是localhost)

<Engine name="Catalina" defaultHost="www.zss.com">

其他相关

打war包
为什么要打war包?

  1. 体积小,方便传输。
  2. 将war包直接放进虚拟主机默认管理目录,会自动解压并发布。

方式一:

  • 在cmd窗口,先进入到web应用的根目录,通过 "jar -cvf xx.war *"命令, 可以将当前目录下所有的文件及目录打成一个war包.

  • 将war包放入localhost管理的目录下,会自动解压发布web应用。

方式二:

  • 直接将文件内容压缩为zip包,将包名改为xxx.war即可,然后将war包放入localhost管理的目录下(注意不能有中文)

通用的web.xml文件

  • [tomcat]/conf/目录下的web.xml文件,是一个通用的web.xml文件,这个web.xml文件的内容,将会被所有WEB应用web.xml文件所“继承”。

  • 比如刚安装tomcat的时候,访问localhost直接会进入tomcat主页,而tomcat中WEB-INF下的xml中并未配置,因为继承了通用web.xml

javaWeb学习笔记 --- tomcat相关推荐

  1. JavaWeb学习笔记——Tomcat配置

    使用的Tomcat版本是apache-tomcat-6.0.20 详细的环境变量配置参考<windows 7系统安装与配置Tomcat服务器环境> 网址为http://jingyan.ba ...

  2. JavaWeb学习笔记-Tomcat虚拟目录与虚拟主机介绍

    Tomcat虚拟目录与虚拟主机介绍 1.主配置文件 server.xml conf文件夹中包含server.xml配置文件 8080 端口:tomcat服务默认端口号.访问url地址后必须手动写:80 ...

  3. JavaWeb学习笔记(软件系统体系结构、Tomcat、Web应用、HTTP协议)

    JavaWeb学习笔记 JavaWeb学习笔记 软件系统体系结构 常见软件系统体系结构C/S.B/S Web资源 Web服务器 Tomcat Tomcat概述 安装.启动.配置Tomcat Web应用 ...

  4. JavaWeb学习笔记2 —— Web服务器简介

    JavaWeb学习笔记2 -- Web服务器简介 参考教程B站狂神https://www.bilibili.com/video/BV12J411M7Sj 相关技术 ASP: 微软:国内最早流行的就是A ...

  5. B站狂神说JavaWeb学习笔记

    JavaWeb学习笔记(根据b站狂神说java编写) 1.基本概念 1.1 前言 静态Web: 提供给所有人看数据不会发生变化! HTML,CSS 动态Web: 有数据交互,登录账号密码,网站访问人数 ...

  6. 【Javaweb学习笔记】在Eclipse中创建Web项目

    [Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...

  7. java web孤傲苍狼,JavaWeb学习笔记

    我看的资料是孤傲苍狼的javaweb学习笔记,他写的真的很全,这或许就是社区力量吧!哪些问题不知道,上网搜一搜就有了,让自己不进步的敌人,只有懒惰了. 这是我接触JavaWeb的第二周,有一些自己的理 ...

  8. Javaweb学习笔记(JSP标准标签库)

    Javaweb学习笔记(JSP标准标签库) JSTL入门 安装和测试JSTL JSTL中的Core标签库 < c:out>标签 标签 标签 < c:catch>标签 标签 标签 ...

  9. JavaWeb学习笔记(十)--HttpServletRequest

    1. HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中 2. Ht ...

最新文章

  1. 货郎担问题TSP(dp解法)
  2. Codeforces Round #394 (Div. 2) A. Dasha and Stairs 水题
  3. Pyhton为什么这么厉害?无意中从一道奥数题发现Python真的爽翻了
  4. Codeforces 285E Positions in Permutations dp + 容斥原理
  5. 【STM32】光敏传感器示例
  6. BOM(Browser Object Model)
  7. Makefile使用及多文件gdb 调试
  8. ExtJS 异步加载树节点
  9. Django发送邮件
  10. FreeSwitch通过远程接口验证用户登录
  11. The Apache Software Foundation Announces Apache® Zeppelin™ as a Top-Level Project
  12. [原创]桓泽学音频编解码(14):AC3 时频转换模块算法分析
  13. 从googleDriver下载大数据集
  14. 用计算机能算重量加权平均长度吗,利用计算器求平均数检测试题与*
  15. 英特尔Atom处理器出货一亿,庆祝上网本CPU三周岁
  16. 火狐浏览器的下载安装
  17. Bilibili到底有多少御坂妹?(二)
  18. C/C++中的str系列函数大全
  19. 计算机外部设备培训教学计划,计算机培训教学计划.docx
  20. 计算机的基本组成及工作原理(操作系统)

热门文章

  1. 不知道网站权重是啥,就如同不知道《啥是佩奇》一样
  2. hdu 4664 Triangulation
  3. pytest+jenkins+gitlab+excel接口自动化测试框架
  4. ROS机器人定位导航仿真(包括智能车、无人机飞行的仿真)
  5. html中如何重定向域名,域名如何进行重定向
  6. location.href 用法详解
  7. 基于wifi的智能开关
  8. 分布式事务(六)Seata 事务传播
  9. ping localhost失败,提示一般故障
  10. moviepy视频剪辑总结学习笔记