Tomcat安装、部署以及报错问题分析

最近学习Java web时配置Tomcat遇到了一些问题,耗费了很长时间才解决,所以我想着写一篇关于Tomcat的博客加深一下记忆,同时看看能不能给学习Java的码友们提供一点帮助,下面进入正题:

1.Tomcat简介

1.1 什么是Tomcat

Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态Web应用程序。Tomcat的全名是Apache Tomcat。

1.2 Tomcat的作用

1.托管Java Web应用程序

2.Servlet容器

这个板块建议大家去看一下“还在路上的秃头”这位博主的关于该内容的博客,链接如下:http://t.csdnimg.cn/zIrcL

2.Tomcat的安装以及环境配置

2.1 安装

Tomcat官网https://tomcat.apache.org/下载对应版本的压缩包

在Tomcat官网左侧栏中Download里面就有各版本的Tomact,大家在下载是要提前去阅读一下Download栏里面的which version?文件,这个文件记录着Java版本和Tomcat版本的兼容问题

例如表中第一条就代表11.0.x系列的版本需要Java的版本在17及以上才可以使用,进入下载页面后选择如下图的压缩包进行下载

将下载后的Tomcat放入一个不含中文名称的路径(切记不含中文名称的路径),比如我的路径为

D:\Tomcat\apache-tomcat-9.0.91,然后在该文件夹里进行解压即可

2.2 环境配置

安装并解压完Tomcat后复制该路径,之后打开系统环境变量新建一个变量名为CATALINA_HOME

,变量值为Tomcat解压后文件路径的系统变量,下图是我的系统变量:

新建完毕后打开path系统变量,将CATALINA_HOME按如下图所示的格式添加到path环境中

做完上述步骤后Tomcat的安装和环境配置就成功了

2.3 Tomcat的配置问题

问题一:

Tomcat配置完系统变量后也要检查一下自身的运行问题,找到Tomcat文件位置apache-tomcat-9.0.91 -> bin -> startup.bat双击该文件,若命令窗口不出现或闪了一下又关闭了,该问题的原因是Tomcat的端口被占用了(Tomcat默认端口号为8080),该问题的解决方法为conf -> service.xml,将该文件中的port修改为别的端口即可

问题二:

若startup.bat文件可以打开命令窗口,但窗口中的信息为乱码,则该问题的解决方法为 

conf -> logging.properties,将该文件中的encoding的UTF-8改为GBK即可

3.IDEA部署Tomcat

根据一个案例介绍IDEA如何部署Tomcat

3.1 创建项目

新建一个Maven工程,自定义名称为TestTomcat,在Java目录下创建一个test类,并在该项目得pom.xml文件中引入Servlet依赖,Servlet依赖如下:

 <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

test类的代码

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/ser")
public class test extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello tomcat");
        resp.getWriter().write("hello tomcat");
    }
}

其中@WebServlet("/ser")指定的是Servlet path

3.2 部署

项目准备完毕后选中该项目,右键->添加框架支持,选择Web应用程序

添加Web应用程序后项目的目录为

之后在IDEA界面的右上方找到编辑配置,进入之后添加新的运行配置,找到Tomcat->本地

点击进入Tomcat部署界面,首先配置Tomcat,其次选择你的Tomcat即它的路径->确定,其中有一个警告,直接点击修复即可

点击修复后进入如下页面,其中应用程序上下文的路径(context path)可以自定义,最后应用->确定

按照上述方法Tomcat即可配置成功

3.3 添加框架支持

这个功能有些朋友在做的时候右键后可能没有该功能(不要慌),这是因为IDEA得版本不同的原因造成的,接下来我来告诉朋友们怎么找:设置 -> 外观与行为 -> 按键映射 -> 插件 -> Java -> 添加框架支持,之后可以设置一个快捷键,等下次直接快捷键就可以一键添加框架支持了

4.报错问题分析

这个模块是最最最恶心人得,没有之一,但是不把它解决了程序还没发跑,难受、想哭😭

4.1 报错404

出现该原因大概率是用:户访问的资源不存在,大概率是 URL 的路径写的不正确

错误实例1: 少写了 Context Path 或者 Context Path 写错了

错误实例2: 少写了 Servlet Path 或者 Servlet Path 写错了

注意点

错误实例3: Tomcat启动成功,但是访问页面报404错误

该错误是因为output directory(输出目录)路径配置错误了,一定要让项目的输出路径为Tomcat的web路径,而不能是项目路径

4.2 报错405

出现 405 原因: 访问的服务器不能支持请求中的方法或者不能使用该请求中的方法

错误实例: 没有重写 service 方法

4.3 报错500

出现 500 原因: 服务器出现内部错误,往往是 Servlet 代码中抛出异常导致的

错误实例: 运算时异常,等等各种异常

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值