Java Web 从入门到退坑 第六章 Tomcat


Java Web 从入门到退坑 —— 第六章 Tomcat


By -gregPerlinLi-


1. JavaWeb 的概念

​ 什么是 JavaWeb

​ JavaWeb 是指所有通过 Java 语言编写可以通过浏览器访问程序的总称。

​ JavaWeb 是基于请求和响应来进行开发的

​ 什么是请求

​ 请求(Request)是指客户端给服务器发送数据

​ 什么是响应

​ 响应(Respond)是指服务器给客户端回传数据

​ 请求和响应的关系

​ 请求和响应是成对出现的,有请求就有响应

2. Web 资源的分类

​ Web 资源实现的技术和呈现的效果不同,又分为静态和动态资源。

​ 静态资源:HTML、CSS、JavaScript、txt、mp4,jpg等等

​ 动态资源:JSP页面、Servlet程序、ASP、PHP

3. 常用的 Web 服务器

​ Tomcat:有 Apache 组织提供的一种 Web 服务器,提供对 JSP 和 Servlet 的支持,它是一种轻量级的 JavaWeb 容器(服务器),也是当前应用最广泛的 JavaWeb 服务器(免费)。

​ Jboss: 是一个遵从 JavaEE 规范的、开放源代码的、纯 Java 的 EJB 服务器,它支持所有的 JavaEE 规范(免费)。

​ GlassFish: 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品的质量(应用很少)。

​ Resin: 是 CAUCHO 公司的产品,是一个非常流行的服务器,对 Servlet 和 JSP 提供了良好的支持,性能也比较优良,resin 自身采用 Java 语言开发(收费,应用比较多)。

​ WebLogic: 是 Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范,而且不断的完善以适应新的开发需求,适合大型项目(收费,用得不多,适合大公司)。

4. Tomcat 服务器和 Servlet 版本的对应关系

​ 当前企业常用版本:**7.*/8.***

Tomcat 版本 Servlet/JSP 版本 JavaEE 版本 运行环境
4.1 2.3/1.2 1.3 JDK1.3
5.0 2.4/2.0 1.4 JDK1.4
5.5/6.0 2.5/2.1 5.0 JDK5.0
7.0 3.0/2.2 6.0 JDK6.0
8.0 3.1/2.3 7.0 JDK7.0

​ Servlet 程序从 2.5 版本是现在市面上使用最多的版本,到了 Servlet 3.0 之后就是注解版本的 Servlet 使用。

5. Tomcat 的使用

5.1. 安装

​ 找到你需要的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可

5.2. 目录介绍

​ bin 专门用来放置 Tomcat 服务器的可执行程序

​ conf 专门用来存放 Tomcat 服务器的配置文件

​ lib 专门用来存放 Tomcat 服务器的 jar 包

​ logs 专门用来存放 Tomcat 服务器运行时输出的日志信息

​ temp 专门用来存放 Tomcat 服务器运行时产生的临时数据

​ webapps 专门用来存放部署的 Web 工程

​ work 是 Tomcat 服务器工作时的目录,用来存放 Tomcat 服务器运行时 JSP 翻译为 Servlet 的源码,和 Session 钝化的目录

5.3. 如何启动 Tomcat 服务器

​ 找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动服务器(macOS 系统请点击 startup.sh)

​ 如何测试 Tomcat 服务器启动成功:

​ 打开浏览器,在浏览地址栏中输入以下地址测试:

​ 1. http://localhost:8080

​ 2. http://127.0.0.1:8080

​ 3. http://yourRealIp:8080

​ 当出现如下界面的时候,说明 Tomcat 服务器启动成功
image-20210212204904004

​ 常见启动失败的情况

​ 双击 startup.bat 文件就会出现控制台窗口一闪而过,这个时候,失败的原因基本上是因为没有配置好 JAVA_HOME 环境变量

​ 常见的 JAVA_HOME 配置错误有以下几种情况

​ 1. JAVA_HOME 必须全大写

​ 2. JAVA_HOME 中间必须是下划线,不是减号

​ 3. JAVA_HOME 配置的路径只需要配置到 JDK 的安装目录即可,不需要带上 bin 目录

​ 另一种启动 Tomcat 服务器的方式

​ 1. 打开命令行(终端)

​ 2. cd 到你的 Tomcat 的 bin 目录下

​ 3. 敲入启动命令:catalina run

​ 注意⚠️:由于 macOS 系统的安全限制,在macOs 下一定要把整个 Tomcat 文件放入到 Library 文件夹中,并在终端中输入以下命令,否则将无法执行 .sh 文件!

sudo chmod 755 /Library/Tomcat/bin/*.sh

5.4. 如何停止 Tomcat 服务器

​ 停止 Tomcat 服务器有三种方式

​ 1. 点击 Tomcat 服务器窗口(命令行)的 x 关闭按钮(macOS 无效)

​ 2. 把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl + c(同样 macOS 无效)

​ 3. 找到 Tomcat 的 bin 目录下的 shutdown.bat,双击以停止服务器(macOS 系统则要用终端来运行 startup.sh)

5.5. 如何修改 Tomcat 的端口号

​ MySQL 的默认端口号为 3306

​ Tomcat 的默认端口号为 8080

​ 找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件,找到如下这一段(Connector 标签)

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

​ 然后修改其中的 port 属性的值(端口号范围:1 ~ 65535),即可修改 Tomcat 服务器的端口号

​ 修改完端口号后,一定要重启 Tomcat 服务器后才能生效

​ 注意:HTTP 协议默认的端口号是 80

5.6. 如何部署 Web 工程到 Tomcat 服务器上

​ 第一种部署方法: 只需要把 Web 工程目录拷贝到 Tomcat 的 webapps 目录下即可。

​ 如何访问 Tomcat 下的 Web 工程:在浏览器中输入如下格式的网址

http://localhost:8080/yourProjectName/yourPage.html

​ 第二种部署方法: 在 Tomcat 下的 conf/Catalina/localhost 目录下新建一个 XML 配置文件,文件名则为你的工程名,文件的格式如下(字符编码一定要用 UTF-8)

<Context path="/accessPath" docBase="YourProjectPath" />

​ Context 表示一个工程上下文

​ path 表示工程的访问路径

​ docBase 表示你的工程目录在哪里

5.7. 手托 HTML 页面到浏览器和在浏览器中输入 http://ip:port/projectName/...访问 的区别

​ 手托 HTML 页面到浏览器,这个时候浏览器中的地址如下:

file:///Catalog1/Catalog2/.../yourPage.html

​ 由上可知,这种方式使用的协议是 file:// 协议

​ file 协议告诉浏览器直接读取 file 协议后面的路径,解析展示在浏览器上即可。

​ 如果是在浏览器地址栏中输入如下格式的访问地址

http://ip:port/projectName/.../yourPage.html

​ 所使用的协议是 http 协议,背后的原理与 file 协议完全不同,如下图所示

iShot2021-02-12 22.56.27

5.8. ROOT 的工程访问,以及默认 index.html 页面的访问

​ 1. 当在浏览器地址栏中输入访问地址如下:

http://ip:port/                                

​ 即没有写工程名的时候,默认访问的是 ROOT 工程

​ 2. 当在浏览器地址栏中输入的访问地址如下:

http://ip:port/projrctName/

​ 即含有工程名,却没有资源名的情况下,默认访问的是 index.html 页面

6. IDEA 整合 Tomcat 服务器

​ 1. 点击 File > Setting > Build, Execution, Deployment > Application Server (windows)

​ InteliJ IDEA > Preference > Build, Execution, Deployment > Application Server (macOS)

​ 2. 点按中间的 +,选择 Tomcat

image-20210212231444621 3. 在 `Tomcat Home` 中选择安装 Tomcat 服务器的文件,然后点按 `OK` image-20210212231728155

​ 4. 最后回到欢迎界面,点击 New Module > Java Enperprise > Application Server 就会显示刚才添加的 Tomcat 服务器了,这样 IDEA 和 Tomcat 也就整合成功了!

image-20210212231933647

7. IDEA 中动态 Web 工程的操作

7.1. IDEA 中如何创建动态 Web 工程

​ 1. 创建一个新工程(模块)(选择 Java Enterprise)

​ 2. 选择要创建的工程(模块)类型

​ 3. 输入工程(模块)名

​ 创建成功的动态 Web 工程如下图(建议在 WEB-INF 下创建 lib 目录,用于存放各种 jar 包)

image-20210212234956706

​ 以下是各个目录存放的文件种类以及部分文件的作用

​ src 存放自己编写的 Java 源代码

​ web 存放 Web 工程的资源文件,比如 HTML 页面,CSS 样式,JavaScript代码等等

​ WEB-INF 这是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容

​ web.xml 整个动态 Web 工程的配置部署描述文件,可以在这里配置很多 Web 工程的组件,比如 Servlet 程序,Filter 过滤器,Listener 监听器,Session 超时等等

​ lib 存放第三方的 jar 包(IDEA还需要自己配置导入)

7.2. 如何给动态 工程添加额外的 jar 包

​ 1. 可以打开 Project Structule 界面,添加一个自己的类库。

​ 2. 浏览,选择到当前类库需要的 jar 包。

​ 3. 选择添加的类库给那个模块使用。

​ 4. 选择 Artifaces 选择,将类库添加到打包部署中

7.3. 如何在 IDEA 中部署工程到 Tomcat 上运行

​ 1. 建议修改 Web 工程对应的 Tomcat 运行实例名称。

​ 2. 进入 Run/Debug Configuration,在 Deployment 中将需要部署的 Web 工程添加到 Tomcat 运行实例中,然后可以在 Application context 中修改工程路径(应用程序上下文)

​ 3. 你还可以修改你的 Tomcat 示例启动后默认的访问地址

7.4. 修改工程访问路径

​ 进入 Run/Debug Configuration,在 Deployment 中选择要修改的 Web 工程,然后在 Application context 中修改工程路径(应用程序上下文)

7.5. 修改运行的端口号

​ 进入 Run/Debug Configuration,在 Server 的 HTTP port 中可以修改运行时的 HTTP 端口号

7.6. 修改运行时使用的浏览器

​ 进入 Run/Debug Configuration,在 Server 的 Open browser 中可以修改使用的浏览器(默认是 Chrome)

7.7. 配置资源热部署

​ 进入 Run/Debug Configuration,在 Server 的 On frame deactivation 中可以选择有修改时的热部署


文章作者: gregPerlinLi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 gregPerlinLi !
  目录