JavaWeb之Tomcat服务器
一、了解软件系统体系结构
1.1 C/S
(1)C/S结构即客户端/服务器结构(Client/Server),例如QQ,微信;
(2)需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序;
(3)缺点:软件更新时需要同时更新客户端和服务端两端,比较麻烦;
(4)优点:安全性比较好
1.2 B/S
- B/S结构即浏览器/服务器结构(Browser/Server),例如百度
- 优点:只需要编写服务器端程序
- 缺点:安全性较差
1.3 Web资源
在JavaWeb中资源一般分为两个部分:
(1)静态资源:html/css/js/图片…
(2)动态资源:jsp/servlet…
二者之间的区别:
1.4 Web服务器
Web服务器的作用是接收客户端的请求,给客户端作出响应。
对于JavaWeb程序而已,还需要有JSP/Servlet容器,JSP/Servlet容器的基本功能是把动态资源转换成静态资源,当然JSP/Servlet容器不只这些功能,我们会在后面一点一点学习。
我们需要使用的是Web服务器和JSP/Servlet容器,通常这两者会集于一身。下面是对JavaWeb服务器:
- Tomcat(Apache):Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的
- JBoss(JBOSS):大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Weblogic(Orcale):大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Websphere(IBM):IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范
二、Tomcat服务器
2.1 Tomcat概述
Tomcat服务器由Apache提供,开源免费。由于Sun和其他公司参与到了Tomcat的开发中,所以最新的JSP/Servlet规范总是能在Tomcat中体现出来。当前最新版本是Tomcat10,我们课程中使用Tomcat8.5。Tomcat7支持Servlet3.0,而Tomcat6只支持Servlet2.5!
2.2 安装、启动、配置Tomcat
(1) 下载Tomcat可以到官网 http://tomcat.apache.org下载。
Tomcat分为安装版和解压版:
- 安装版:一台电脑上只能安装一个Tomcat;
- 解压版:无需安装,解压即可用,解压多少份都可以,所以我们选择解压版。
(2) 安装Tomcat服务器
在启动Tomcat之前,我们必须要配置环境变量 :
- JAVA_HOME:必须先配置JAVA_HOME,因为Tomcat启动需要使用JDK;
- CATALANA_HOME:如果是安装版,那么还需要配置这个变量,这个变量用来指定Tomcat的安装路径,例如:D: tomcat apache-tomcat-8.5.59。
启动:进入%CATALANA_HOME% bin目录,找到startup.bat,双击即可;
关闭:进入%CATALANA_HOME% bin目录,找到shutdown.bat,双击即可;
startup.bat会调用catalina.bat,而catalina.bat会调用setclasspath.bat,setclasspath.bat会使用JAVA_HOME环境变量,所以我们必须在启动Tomcat之前把JAVA_HOME配置正确。
启动问题:
- 点击startup.bat后窗口一闪即消失:
- 检查JAVA_HOME环境变量配置是否正确;
- 启动报错:
- 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
netstat -ano
- 温柔:修改自身的端口号conf/server.xml
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />
(3)配置端口号
打开%CATALANA_HOME% conf server.xml文件:
http默认端口号为80,也就是说在URL中不给出端口号时就表示使用80端口。当然你也可以修改为其它端口号。
当把端口号修改为80后,在浏览器中只需要输入:http://localhost
就可以访问Tomcat主页了。
(3)Tomcat的目录结构
2.3 Tomcat的部署
- 直接将项目放到webapps目录下即可
-
项目名就是我们该项目的访问路径
-
简单部署:将项目打成一个war包,再将war包放置到webapps目录下。war会自动解压
虚拟目录: 项目名或者war名字
- 配置conf/server.xml文件,在
<Host>
标签体中配置
<Context docBase="D:/hello" path="/hehe" />
- docBase:项目存放的路径
- path:虚拟目录
3.在conf/Catalina/localhost创建任意名称的xml文件。在文件中编写
虚拟目录:xml文件的名称
推荐使用第三种: 因为它支持热部署,当我们不想部署项目,那我们就把hello.xml修改为hello.xml.back,那我们不需要重新启动tomcat,再访问,就无法访问到hello项目了
三、结语
我们都知道,编写一个项目最终都会部署到服务器上去给每个人都能够访问得到。因此,Tomcat是一个开源的服务器,许多的公司在写小项目时都会使用Tomcat服务器。所以,我们要学好Tomcat服务器的知识,使以后的发展更加牢固。