javaWeb学习笔记 --- tomcat
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
解压
将解压版.zip包拷贝到要安装的目录下,解压,改名为tomcat7.0
注意,安装目录中不允许有空格和中文配置环境(解决安装过程中一闪而过的问题)
Tomcat是java写的,需要jdk支持
计算机>属性>高级系统设置>环境变量>系统变量>新建>变量名:JAVA_HOME,变量值:jdk根目录>确定启动tomcat
通过 [tomcat]/bin/startup.bat文件 启动tomcat服务器
通过 [tomcat]/bin/shutdown.bat文件 关闭tomcat服务器
浏览器访问 http://localhost:8080 如果能够看到tomcat的首页就证明tomcat安装配置成功安装常见问题
端口占用问题:
1.看是否已经打开tomcat,或是tomcat在关闭时没有正确的关闭,可以运行shutdown.bat命令,然后再次打开2.可以在cmd窗口中使用netstat -ano命令查询出哪个程序占用了端口,根据pid,在任务管理器的服务中找到此pid,结束这个程序后再启动tomcat即可
安装路径问题:
tomcat安装路径中一定不能有中文和空格,可能一时半会没问题,但是不知道什么时候就可能出现意外。修改默认的端口号
服务器在启动之后默认监听的是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应用
- 第一种配置方式,只需要将path 的值配置为空
("")
即可。 - 第二种配置方式,只需要将
xxx.xml
文件的名字配置为ROOT.xml
即可。 - 第三种配置方式,只需要将
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包?
- 体积小,方便传输。
- 将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相关推荐
- JavaWeb学习笔记——Tomcat配置
使用的Tomcat版本是apache-tomcat-6.0.20 详细的环境变量配置参考<windows 7系统安装与配置Tomcat服务器环境> 网址为http://jingyan.ba ...
- JavaWeb学习笔记-Tomcat虚拟目录与虚拟主机介绍
Tomcat虚拟目录与虚拟主机介绍 1.主配置文件 server.xml conf文件夹中包含server.xml配置文件 8080 端口:tomcat服务默认端口号.访问url地址后必须手动写:80 ...
- JavaWeb学习笔记(软件系统体系结构、Tomcat、Web应用、HTTP协议)
JavaWeb学习笔记 JavaWeb学习笔记 软件系统体系结构 常见软件系统体系结构C/S.B/S Web资源 Web服务器 Tomcat Tomcat概述 安装.启动.配置Tomcat Web应用 ...
- JavaWeb学习笔记2 —— Web服务器简介
JavaWeb学习笔记2 -- Web服务器简介 参考教程B站狂神https://www.bilibili.com/video/BV12J411M7Sj 相关技术 ASP: 微软:国内最早流行的就是A ...
- B站狂神说JavaWeb学习笔记
JavaWeb学习笔记(根据b站狂神说java编写) 1.基本概念 1.1 前言 静态Web: 提供给所有人看数据不会发生变化! HTML,CSS 动态Web: 有数据交互,登录账号密码,网站访问人数 ...
- 【Javaweb学习笔记】在Eclipse中创建Web项目
[Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...
- java web孤傲苍狼,JavaWeb学习笔记
我看的资料是孤傲苍狼的javaweb学习笔记,他写的真的很全,这或许就是社区力量吧!哪些问题不知道,上网搜一搜就有了,让自己不进步的敌人,只有懒惰了. 这是我接触JavaWeb的第二周,有一些自己的理 ...
- Javaweb学习笔记(JSP标准标签库)
Javaweb学习笔记(JSP标准标签库) JSTL入门 安装和测试JSTL JSTL中的Core标签库 < c:out>标签 标签 标签 < c:catch>标签 标签 标签 ...
- JavaWeb学习笔记(十)--HttpServletRequest
1. HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中 2. Ht ...
最新文章
- 货郎担问题TSP(dp解法)
- Codeforces Round #394 (Div. 2) A. Dasha and Stairs 水题
- Pyhton为什么这么厉害?无意中从一道奥数题发现Python真的爽翻了
- Codeforces 285E Positions in Permutations dp + 容斥原理
- 【STM32】光敏传感器示例
- BOM(Browser Object Model)
- Makefile使用及多文件gdb 调试
- ExtJS 异步加载树节点
- Django发送邮件
- FreeSwitch通过远程接口验证用户登录
- The Apache Software Foundation Announces Apache® Zeppelin™ as a Top-Level Project
- [原创]桓泽学音频编解码(14):AC3 时频转换模块算法分析
- 从googleDriver下载大数据集
- 用计算机能算重量加权平均长度吗,利用计算器求平均数检测试题与*
- 英特尔Atom处理器出货一亿,庆祝上网本CPU三周岁
- 火狐浏览器的下载安装
- Bilibili到底有多少御坂妹?(二)
- C/C++中的str系列函数大全
- 计算机外部设备培训教学计划,计算机培训教学计划.docx
- 计算机的基本组成及工作原理(操作系统)