框架学习遇到的问题及解决方案
Posted 宏远小七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了框架学习遇到的问题及解决方案相关的知识,希望对你有一定的参考价值。
框架学习遇到的问题及解决方案
- 问题1:No mapping for GET /admin/
- 问题2:Component name "login" should always be multi-word vue/multi-word-component-names
- 问题3:通配符的匹配很全面, 但无法找到元素 context:component-scan 的声明。
- 问题4:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
- 问题5:java版本不匹配问题
- 问题6:关于:com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor
- 问题7:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效
- 问题8:java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
- 问题9:idea怎么设置Tomcat访问磁盘文件
- 问题10:类com.chen.servlet.CookieDemo01不是Servlet
- idea的 maven 项目导不进依赖的问题
我们在学习的过程中,都会遇到各种各样的问题,所以为了能够帮助到和我一样在学习的时候有遇到同样问题的朋友,我把我遇到的问题及其解决方法都记录了起来。
问题1:No mapping for GET /admin/
解决方法:
遇到这个问题,我们就是把已经配置好的Tomcat删了,重新编译项目,再重新配置Tomcat。在部署的时候应用程序上下文就写一个 ‘/’ 如下图所示↓:
问题2:Component name “login” should always be multi-word vue/multi-word-component-names
就是组件名不能为一个单词的问题
解决方法:
方法一:可以把组件名写成驼峰命名,如把login 改成 loginIn
方法二:可以在vue.config.js中加入lineOnSave:false
问题3:通配符的匹配很全面, 但无法找到元素 context:component-scan 的声明。
就是导入的声明不全,导入的声明需要下面这三条
解决方法:
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
问题4:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
dispatcherServlet找不到的问题
解决方法:
需要对项目依赖添加lib目录,如下图:
问题5:java版本不匹配问题
java:警告:源发行版 11 需要目标发行版 11
java : 无效的目标发行版 :11
解决方法:
看下图:
问题6:关于:com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor
那些大佬说是因为依赖5.0版本之后,interceptor中的引用不在是PageHelper了,而是改为PageInterceptor。而在properties的地方,4.0版本之后可以不设置相关参数。
解决方法:
导入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.0</version>
</dependency>
在配置中配置
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"/>
</plugins>
问题7:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效
这个问题的原因就是你的项目有中文,但是你的项目不是utf-8的字符编码。
解决方法:
如下图:
问题8:java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
大佬们说org.springframework.web.util.Log4jConfigListener这个类在spring5。0及以上版本已经废弃删除,如果想使用这个类,spring版本需要降低。
但我们可以不用降低spring的版本,我们提高依赖的版本!
解决方法
导入依赖:
版本自选
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-web -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.17.2</version>
</dependency>
修改web.xml配置
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
问题9:idea怎么设置Tomcat访问磁盘文件
我们在使用做项目的时候可能会涉及到上传或者访问本地文件,所以我们要设置Tomcat,给Tomcat设置要访问的文件路径
解决方法:
如下图:
问题10:类com.chen.servlet.CookieDemo01不是Servlet
当你出现这个问题的时候,检查一下你的Tomcat的版本是不是10的。
解决方法
这个问题可以用两个方法来解决:
方法一:
修改Tomcat的版本。 个人推荐使用Tomcat 9,这是Tomcat 9 的下载路径:
https://tomcat.apache.org/download-90.cgi
方法二:
修改导入的依赖 如 ↓
<!-- tomcat 10 之前所导入的依赖-->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- tomcat 10 所要导入的依赖-->
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>10.1.0-M14</version>
</dependency>
然后这里还有关键的一步:
Java类中导入到 javax 包要手动改为 jakarta
// 10 之前的导包
import javax .servlet.http.HttpServlet;
//10 之后的导包
import jakarta.servlet.http.HttpServlet;
这里给大家一个放个maven仓库的地址:
https://mvnrepository.com/
idea的 maven 项目导不进依赖的问题
检查idea的版本,检查自己下载 maven 仓库的版本。
这个问题是我室友在学习的时候遇到的,
他的idea版本是2020版,maven版本是3.8的
然后我去查了一下,那些大佬说这两个版本不兼容,所以我们降低maven的版本。
解决方法:
把maven版本降到3.6,这个问题就解决了。
这里给大家一个下载maven所有版本的地址
https://downloads.apache.org/maven/maven-3/
这篇文章不断更新,毕竟学无止境,后面可能还有很多问题等着我,我会继续把问题和解决方法写在这里。
我目前遇到的问题和我的把问题解决的方法都写在这了,如果您觉得有什么更好的解决方法,或者我的解决方法不起作用,欢迎评论区留言讨论。
以上是关于框架学习遇到的问题及解决方案的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot + mybatis-plus 遇到 数据库字段 创建不规范 大驼峰 下划线 导致前端传参数 后端收不到参数 解决方案