目录
一、Web应用服务器
Web服务器是运行及发布Web应用的大容器,只有将开发的Web项目放到该容器中,才能使网络中的所有用户通过浏览器进行访问。常用的有BEA WebLogic服务器、IBM WebSphere应用服务器、Tomcat服务器。
Tomcat 服务器介绍
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Nginx等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
二、Tomcat服务器的下载安装
1. Tomcat服务器的下载
(1)Tomcat的官方下载地址:
- Apache Tomcat英文官网:http://tomcat.apache.org/
- Apache Tomcat9.0官网下载地址:https://tomcat.apache.org/download-90.cgi
(2)进入Apache Tomcat英文官网,在【Download】目录下选择Tomcat的版本,点击进入。本文以Tomcat9为例,点击进入【Tomcat9】
(3)在【核心】目录中选择【zip】【压缩包版】(需要配置环境变量)或者【32-bit/64-bit Windows Service Installer】【安装包版】,点击下载。本文以Winows64位系统为例,选择压缩包版,点击【64-bit Windows zip】
(5)下载完成
2. Tomcat的安装
将下载好的压缩包解压到安装目录下即可
3. Java的下载安装与环境变量的配置
4. Tomcat环境变量的配置
在“环境变量”界面中,分为两部分,上面“某某某的用户变量”的设置,针对的是当前登录电脑的账户;下面部分是系统变量的设置,针对的是这台电脑,相当于是所有账户。对于自己使用的电脑来说,建议直接在下面部分的“系统变量”中来配置。
右击【计算机】,选择“【属性】——【高级系统设置】——【高级】——【环境变量】”进行环境变量的配置
(1)右键【我的电脑】,点击【属性】
(2)进入控制面板界面,单击进入【高级系统设置】
(4)进入系统属性界面,单击进入【环境变量】
(5)进入环境变量界面,在确保Java环境变量配置好(命令行java与javac命令均有信息)的前提下,点击【新建】,创建一个【变量名】为Catalina_Home
,【变量值】为Tomcat解压后的目录,例如【E:\apache-tomcat-9.0.22】
的环境变量即可
(6)点击【编辑】系统环境变量【path】,进入环境变量编辑页面,新建一个【%CATALINA_HOME%\bin】环境变量即可
(7)测试环境变量配置,在命令行cmd下输入【startup】命令有如下结果即成功。
(6)启动Tomcat
① 打开Tomcat解压目录中的bin目录\apache-tomcat-9.0.22\bin
,双击打开startup.bat
② 弹出Tomcat命令行窗口,执行打开Tomcat命令,若出现【Catalina.start Server startup in [xxxx] milliseconds】,则表示打开成功。
① 在Tomcat解压目录中的bin目录下单击【右键】,选择【在此处打开命令窗口】
或者
使用快捷键【Windows+R】,在运行界面中输入【cmd】打开命令行,然后输入以下命令,定位到Tomcat的解压目录中的bin目录。以【E:\apache-tomcat-9.0.22\bin】为例。
E:
cd apache-tomcat-9.0.22\bin
② 输入命令startup
(另开一个Tomcat窗口打开Tomcat,相当于双击startup或者运行catalina start
)或catalina run
(直接在windows命令行中运行打开Tomcat),打开Tomcat
或者
或者
(7)测试Tomcat是否成功启动
启动后不要关闭窗口(否则就关闭了Tomcat),打开浏览器,在地址栏中输入http://localhost:8080或者http://127.0.0.1:8080,若出现以下窗口,则说明Tomcat成功启动。
值得注意的是http://本机网络IP地址:8080也可以访问Tomcat的界面(云服务器基础)
(1)查看本机网络IP地址命令如下
ipconfig
(2)访问http://本机网络ip地址:8080
三、Tomcat的目录结构与使用
1. Tomcat的目录结构:
补充:
bin目录:存放的是Tomcat的命令。主要分为Linux命令(以.sh结尾的)和Windows命令(以.bat结尾的),常用命令为shutdown.bat与startup.bat,分别用于关闭的服务器和启动服务器。
conf目录:主要是用来存放Tomcat 的配置文件。比如server.xml用于设置端口号、设置域名或者是IP,web.xml可以设置Tomcat支持的文件类型,context.xml可以设置数据源等信息。
logs目录与temp目录:清空不会对Tomcat造成任何影响。
webspps目录:存放的是web应用程序。当Tomcat启动后就会去加载该目录下的应用程序,Web项目必须直接或间接(配置虚拟路径)的发布到webapps目录中来,才能被访问。
work目录:用来存放Tomcat运行时编译后的文件。清空work目录并重启Tomcat可以达到清空缓存的作用。
2. Tomcat的使用
(1)修改Tomcat的默认端口
步骤:
- ① 采用记事本打开Tomcat安装目录下conf文件夹中的server.xml文件。
- ② 在server.xml文件中找到以下代码:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- ③ 将以上代码中的port=”8080”改为port=”8888”,即可将Tomcat的默认端口号设置为8888。
- ④ 修改成功后为了使新设置的端口生效,还需要重启Tomcat服务器。此时访问http://localhost:8888或者http://127.0.0.1:8888。
(注意:双击bin文件夹下的startup.bat启动Tomcat时常见错误:可能与其他服务的端口号冲突。)
常见状态码:
200:一切正常(看不到)
3xx:页面重定向(跳转)
404:资源不存在
403:权限不足(如访问a目录,但a目录设置不可见)
500:服务器内部错误(一般都是代码写错了)
(2)部署Web应用以及实现方法
通过复制Web应用到Tomcat中实现时,首先需要将Web应用的文件夹复制到Tomcat安装目录下的webapps文件夹下,然后启动Tomcat服务器,然后打开浏览器在地址栏中输入“http://主机本地IP(或网络IP):端口号/应用程序名称”形式的URL地址(如http://127.0.0.1:8888/firstProject),即可运行Java Web应用程序。
*特殊:当端口号为80时,访问Tomcat运行JavaWeb程序可省略端口号。
如若要访问的项目中有多个jsp文件,则会默认优先访问index.jsp,如有多个html、htm、jsp文件,则会默认优先级为:html>htm>jsp。若想自己控制访问优先级,可以直接指定某个文件(如:http://localhost:8888/firstProject/index.jsp),也可在本项目的WEB-INF/web.xml
中的<web-app></web-app>
标签中插入如下代码:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
即可让默认访问优先级变为jsp>htm>html。
当项目文件位置为E:\MyProject\JspProject1时
1)通过在【conf】文件夹下server.xml
文件中配置<Context>
元素实现
通过在server.xml
文件中配置<Context>
元素实现时,首先打开Tomcat安装路径下【conf】文件中的server.xml
文件然后在<Host>
与</Host>
元素中间插入<Context>
元素。例如,要配置【E:\MyProject\文件夹下的Web应用JspProject1】可以在<Host></Host>
标签中加入以下代码:
<Context path="/JspProject" docBase="E:\MyProject\JspProject1" />
即可通过http://服务端IP:端口号/path(虚拟路径)运行Java Web应用程序。
(这种方法的弊端就是每次执行操作之后都得重启Tomcat)
*注意:path:虚拟路径(可以为绝对路径,也可以为相对路径【相对于webapps的路径】)docBase:实际路径
2)通过在【conf】文件夹下【Catalina】文件中的【localhost】文件中新建文件“项目名(虚拟路径名).xml
”,然后在其中插入<Context>
元素。例如,要配置【E:\MyProject\文件夹下的Web应用JspProject1】,可以在JspProject.xml
文件中加入以下代码:
<Context path="/JspProject" docBase="E:\MyProject\JspProject1" />
(*注意:此处的path名存实亡)
此时要运行Java Web应用程序需要在浏览器地址栏中输入“http://服务端IP:端口号/xml文件的文件名”
(执行完操作不需要重启Tomcat)
*特殊:方法1中让path=”/”(“”亦可)或者方法2中xml的文件名为ROOT都可以使得http://127.0.0.1:端口号(或http://localhost:端口号或http://服务端IP地址:端口号)直接访问docBase里面的地址中的Web应用
通过配置虚拟主机使得以http://新域名(除localhost以外的域名)的方式访问Web应用(如http://www.abc.com)时,首先需要打开conf/server.xml
,然后在<Engine></Engine>
元素中插入<Host></Host>
和<Context />
元素,接着把<Engine>
标签中的defaultHost属性修改为新域名,最后打开本机【windows/system32/drivers/etc/hosts】,加入IP与域名的对应(可加到IP与localhost对应的下面)。
例如要将本机IP对应的域名设置为 www.abc.com,首先在<Engine></Engine>
标签中加入以下代码:
<Host name="www.abc.com" appBase="E:\MyProject\JspProject1">
<Context path="/" docBase="E:/MyProject/JspProject1" />
</Host>
然后把<Engine>
标签改为如下:
<Engine name="Catalina" defaultHost="www.abc.com">
最后往hosts中加入以下代码:
127.0.0.1 www.abc.com
然后将server中的端口号改为80。即可通过访问"www.abc.com"访问Web项目JspProject1。
(3)进入Tomcat管理界面
- ① 启动Tomcat,打开浏览器,访问"http://localhost:8080"
- ② 点击Managing Tomcat栏下的【manage webapp】,并在弹出的登录框上点击【取消】
- ③ 进入401界面,复制以下内容
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
- ④ 打开Tomcat解压目录中【conf】
apache-tomcat-9.0.22\conf
文件夹中的tomcat-users.xml
,将步骤③复制的内容粘贴进去,并且根据那部分内容得到登录用户名为tomcat,密码为s3cret,再刷新页面进行登录即可。
- ⑤ 成功进入Tomcat管理界面可以看到当前有哪些项目部署在tomcat ,也可以从这里进入某个项目中