JavaEE简单示例——在使用Tomcat的时候可能出现的一些报错

简单介绍:

在我们之前使用Tomcat的时候,经常会出现在启动的时候因为一些报错导致项目无法正常的启动,我们就对一些比较常见的报错来看一下可能导致的原因,以及出现报错之后如何去解决。

严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]

java.net.BindException: Address already in use: JVM_Bind <null>:80

这个报错非常的明显,关键词就是: Address already in use:这句话表示我们启动服务的端口被占用了,这个报错比较常出现在我们调试的时候,反复的启动Tomcat服务器,导致我们之前的服务器因为某种原因没有正常的关闭,而导致我们在启动后续的服务器的时候导致端口占用,所以我们要保证尽量启动同一个进程。

出现了这个报错要么停掉之前的进程,杀死进程在Linux上比较好操作,但是在windows上就比较麻烦了,如果不考虑其他的,只想让服务启动起来,那么可以不管之前的服务,直接修改当前服务的端口号即可:

在这里修改Tomcat的端口号,然后刷新一下pom文件,之后再次启动Tomcat的服务器:

这里的地址也会发生改变,这次点击这里的地址,然后就可以正常的启动Tomcat了,至于之前的那个服务,大概在我们重启电脑之后就会消失了吧。

一般是缺失@Test注解,无法运行

这个报错一般是SQL映射文件中的namespace的值与MyBatis核心配置文件中的Mappers中的属性的值写错了导致的,检查这两个的值是否相同

在使用<foreach>遍历Map的时候,被遍历的那个值应该是Map中含有多个元素的键,而不是map

这个报错是因为java类中缺少与属性对应的gatter和setter方法

这个报错是由于,出现了新的缓存,而旧的缓存没有配置只读属性,所以他会默认的将缓存写入到硬盘中进行持久化存储,而我们对象到文件的持久化存储在没有实现序列化接口的时候就会报这个错误,所以我们可以选择让对象实现序列化接口,或者给<cache>标签没有设置readonly的值为true的形式来解决这个报错,我们推荐使用第二种添加属性的方式。

启动SpringMVC的时候子容器无法启动,原因可能是由于servlet的作用域没有设置,导致引入的servlet和Tomcat自带的servlet包冲突导致的,添加pom依赖里面的servlet依赖项的作用域就好了

找不到component-scan的声明

需要在后面加上完整的空间生命,不能缺少路径,检查路径是否正确

访问首页jsp文件时报错:

在pom文件中将jsp的坐标下面配置作用于即可

相关推荐
符哥20083 小时前
C++ 进阶知识点整理
java·开发语言·jvm
夕除3 小时前
js--15
java·jvm·spring
我命由我123456 小时前
Java 泛型 - Java 泛型通配符(上界通配符、下界通配符、无界通配符、PECS 原则)
java·开发语言·后端·java-ee·intellij-idea·idea·intellij idea
4311媒体网6 小时前
C语言操作符全解析 C语言操作符详解
java·c语言·jvm
猫头虎15 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
wgslucky16 小时前
jdk17 配置jvm参数中gc的日志及控制日志数量和大小
jvm·gc·-xlog
痴儿哈哈21 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
野犬寒鸦1 天前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
闻哥1 天前
Kafka高吞吐量核心揭秘:四大技术架构深度解析
java·jvm·面试·kafka·rabbitmq·springboot
阿杰真不会敲代码1 天前
Mybatis-plus入门到精通
java·tomcat·mybatis