前言
这篇文章详细讲解了Tomcat相关的知识以及详细操作过程,通过实战项目的方式快速上手Web服务器Tomcat!!
1.Web服务器
web服务器是一个应用程序,用于对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加的便捷,主要的功能是将项目部署到服务器中对外提供Web网上信息浏览的服务。
接下来我们要介绍的Web服务器是Tomcat。
Web服务器有很多,为什么选择Tomcat呢?
因为Tomcat是一个开源免费的轻量级Web服务器,支持servlet/JSP少量的JavaEE规范。
2.Tomcat简介
Tomcat是Apache软件基金会的一个核心项目,是一个开源免费的轻量级Web服务器,支持servlet/JSP少量JavaEE规范。
JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。
Tomcat 也被称为 Web容器、Servlet容器。Servlet 需要依赖于 Tomcat才能运行。
3.Tomcat基本使用
下面介绍Tomcat的基本操作:下载,安装,启动以及关闭操作。
3.1 Tomcat下载
直接在官网下载即可,根据自己的电脑选择下载文件类型,Windows操作系统下载.zip文件,linux操作系统下载tar.gz文件。
3. 2 Tomcat安装
Tomcat是一款绿色软件,不需要安装,直接解压即可使用。
conf目录下存放的一些配置文件是一些java字节码的.class文件。日志文件存放Tomcat启动过程中的一些日志信息,可以通过查看日志文件进行错误的调试。
同样在卸载时只需要删除其文件夹即可完成卸载。
3.3 Tomcat启动
找到bin/startup.bat,双击即可启动。.bat文件是windows操作系统下的可执行文件。
注意:启动TomCat之前需要正确配置Java的环境变量,否则会出现窗口一闪而过的现象,如果配置完Java环境变量以后还是出现这个问题,则找到占用该端口的软件并停用。
在浏览器中输入对应的URL:localhost:8080,访问到TomCat安装时自带的Web项目,如果成功访问,则证明Web服务器Tomcat启动成功!
解决控制台日志信息中文乱码的问题:
在conf/logging.properties中修改:java.util.logging.ConsoleHandler.encoding = GBK。原因:windows控制台的编码格式是GBK,而TomCat输出的日志信息默认字符编码格式是UTF-8。
3.4 Tomcat关闭
有三种方法可以实现Tomcat的关闭:
- 直接关闭运行窗口,这种方法是强制关闭的方法,可能会出现一些问题。
- 执行bin/shutdown.bat文件,这种方法是正常关闭。
- 直接使用快捷键ctrl+c正常关闭。
3.5 Tomcat配置
修改启动端口号:
在conf/server.xml文件中修改:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
注:HTTP协议默认的端口号是80,如果将TOmCat的端口号改为80,则将来访问TomCat时,将不用输入端口号。
4. 实战项目详解
4.1 Tomcat部署项目
方法:我们只需要将项目放置到webapps目录下,即完成了项目的部署。
为了提高项目部署的效率,可以将项目打包为一个war包,然后再将这个war包放置到webapps目录下,此时TomCat会自动解压war文件,即完成项目的部署。
例:修改TomCat的端口号为80,在浏览器里访问Web项目:localhost/examples/index.html。效果如下:
4.2 IDEA中创建Maven Web项目
在Tomcat中运行的项目,大多数都是JavaWeb的项目,而我们使用Maven构建JavaWeb项目,所以我们要学习一下在idea中创建Maven Web项目。
首先要了解的是Web项目的结构,Web项目的结构可以分为两大类:
- Maven项目结构:开发中的项目
- 部署的JavaWeb项目:开发完成,可以部署的项目
其中,只要把开发中的项目打包,便有了部署的JavaWeb项目结构。项目被自动打成一个war包,存放了之前开发中的项目里webapp目录下的文件,同时,项目里面的Java代码编译后的字节码文件和依赖坐标对应的jar包也放在该包中,具体存放在WEB-INF目录下。
接下来我们在idea中创建Maven Web项目:新建/新模块/Maven Archetype,输入项目名称,选择项目位置,在Archetype中我们选择maven-archetype-webapp,同时还可以设置组ID,工件ID,版本等内容。
项目创建完成,在pom.xml配置文件中保留我们需要的配置:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>tomcat-demo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> </project>
在main目录下新建java和resources两个目录:
Maven Web项目创建完成!
同样,我们也可以不使用maven骨架来创建项目,此时我们需要在配置文件中修改打包方式为war包,并且补齐web项目文件目录即可。
<packaging>war</packaging>
4.3 IDEA中使用Tomcat
在前面我们说过Tomcat部署项目时,我们只需要将项目放置到webapps目录下,即完成了项目的部署,但是我们在开发项目时,为了方便部署项目,我们只需要在idea中使用Tomcat,这样就可以避免每次将war包放置到相应的文件目录下。
项目中pom.xml配置文件代码展示:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>tomcat-demo</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <!--Tomcat插件--> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> <packaging>war</packaging> </project>
在idea中使用Tomcat有两种方式:
方式一:将本地Tomcat集成到idea中,然后进行项目的部署
社区版idea下载smart tomcat插件后,既可以在run/Edit Configurations中集成tomcat。
方式二:使用Tomcat中的maven插件
首先在pom.xml配置文件中添加Tomcat插件的依赖坐标,相当于在maven项目中集成内置的Tomcat。
<build> <plugins> <plugin> <!--Tomcat插件--> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build>
此时,可以使用Maven Helper 插件快速启动项目,选中项目,右键,在run maven中选择tomcat7:run。