解决Tomcat启动后404的问题

概述当我遇到这个问题的时候,我真是操**的崩溃了,你懂我意思吧,就是那种各种百度也找不到答案,然后有好多回答都是帮我解释什么叫”404”????Excuseme???????我用你解释吗???我觉的真挺逗的,还有一大堆说程序有问题的,就是这个说法啊不能排除,确实有的开发人员给运维的war包就是有问题的,不过在我这儿跟包没关系,纯粹就是自己的问题,所以运维人员如果查到网上说让你去怪开…

大家好,又见面了,我是你们的朋友全栈君。

概述

当我遇到这个问题的时候,我真是操**的崩溃了,你懂我意思吧,就是那种各种百度也找不到答案,然后有好多回答都是帮我解释什么叫”404”????Excuse me ???????我用你解释吗???
这里写图片描述
我觉的真挺逗的,还有一大堆说程序有问题的,就是这个说法啊不能排除,确实有的开发人员给运维的war包就是有问题的,不过在我这儿跟包没关系,纯粹就是自己的问题,所以运维人员如果查到网上说让你去怪开发的,你可要理智,好了,下面说一下我的解决过程

    其实问题真的非常简单,我崩溃的原因是Mysql没有报错,导入库也没有报错,Tomcat也没有报错,开始了理智分析,首先排除jdk版
本不对应的问题,我去检查了一下,发现jdk确实是1.8的,跟踪Tomcat启动日志,并没有发现任何有关404的报错,或者任何报错,然后我
就开始懵13状态,但是我的责任心在心底告诉我说,"不能轻易放弃!"于是我就继续开始排查,发现数据库的表名导入进去之后全都是
小写的,当时我就有点儿小兴奋,感觉发现了问题,登录到数据库检查是否开启了忽略大小写的功能,哇哦,果然是关闭的,也就是说Mysql
默认是大小写严格的,然后我就成功的开启了数据库的忽略大小写功能,删除我导入的库重新导入了一次,OK,Tomcat的项目完美访问

这里写图片描述

    说一些想法,我希望看到这篇文章的你,仔细阅读一下,也花费不了你多长时间,在遇到问题的时候必须从底层排查起来,一定要去看
日志,不能一昧的依赖某度,反正上边儿有好多回答都是瞎扯淡,还容易生气,请冷静下来仔细想一想工作过程,了解一下公司项目的代码
我感觉花一些时间总是能解决的!加油!!下面放上解决过程的命令代码~(请不要复制,请动手敲,谢谢)

[root@bogon ~]# mysql -uroot -p     #登录到mysql中
mysql>show variables like "%case%";  #看到lower_case_table_names为0则表示Mysql区分大小写,改一下
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |
+------------------------+-------+
2 rows in set (0.00 sec)
mysql>exit;
[root@bogon ~]# vim /etc/my.cnf
lower_case_table_names=1    #在数据库配置文件中定义忽略大小写
[root@bogon ~]# service mysqld restart #重启mysql数据库,因为我这个是测试服务器,所以重启不重启无所谓,生产的话
默认应该就是开启的,如果出现类似问题,再去想一下如何才能不重启mysql才能修改吧
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127450.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python批量修改文件夹名称_python文件扩展名主要有

    python批量修改文件夹名称_python文件扩展名主要有1、引言需要把.dat格式转化成.txt格式2、实现##python批量更换后缀名importos#列出当前目录下所有的文件files=os.listdir(‘.’)#print(‘files’,files)forfilenameinfiles:portion=os.path.splitext(filename)#如果后缀是.datifp

    2022年9月23日
    0
  • bytebuffer的容量极限和位置_bytebuffer写文件

    bytebuffer的容量极限和位置_bytebuffer写文件缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:使用缓冲区有这么两个好处:1、减少实际的物理读写次数2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数举个简单的例子,比如A地有1w块砖要搬到B地由于没有工具(缓冲区),我们一次只能搬一本,那么就要搬1w次(实际读写次数)如果A…

    2022年10月2日
    0
  • hdu 1394

    hdu 1394

    2022年1月31日
    45
  • hql查询语句用法详解_sql add语句

    hql查询语句用法详解_sql add语句HQL的语法比较简单,与普通SQL的区别之处是针对对象的不同,在查询语句中将sql中的表名替换成了sql中的持久化类名,因为hibernate机制是基于对象进行查询的。 不带参数的查询,语句是“fromPOJO”的形式,其中POJO即为持久化类名称Queryquery=session.createQuery("fromUser");带参数的查询接口Query提供了…

    2022年9月29日
    0
  • vue上传文件到Minio

    vue上传文件到Minio封装js文件file-uploader.jsvarMinio=require(‘minio’);lets3=newMinio.Client({endPoint:’192.168.xxx.xxx’,port:9000,useSSL:false,accessKey:’xxxx’,secretKey:’xxxx’,Region:’xxxxxx’,});//base64转bolbfunctiondataURLto

    2022年10月16日
    0
  • java switch条件_Java switch 条件语句用法详解[通俗易懂]

    java switch条件_Java switch 条件语句用法详解[通俗易懂]首页>基础教程>循环条件语句>条件语句switchJavaswitch条件语句用法详解switchcase语句在很多编程语言中的功能都是等于条件判断,java中为多路分支选择流程专门提供了switch语句,switch语句根据多个表达式的值,选择运行多个操作中的一个。当需要对选项进行等值判断时,使用switch语句更加简洁明了。switch的case语句可以处…

    2022年7月14日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号