javax.servlet.ServletException: Servlet执行抛出一个异常怎么解决?

这篇具有很好参考价值的文章主要介绍了javax.servlet.ServletException: Servlet执行抛出一个异常怎么解决?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

javax.servlet.ServletException: Servlet执行抛出一个异常怎么解决?

servletexception,笔记,MySQL,Java,servlet,java,mybatis站长亲测文章来源地址https://www.toymoban.com/news/detail-534957.html

  1. 数据库版本过高会导致报错 HTTP状态 500 - 内部服务器错误
  1. 如果未在webapp导入lib库会导致500报错
HTTP状态 500 - 内部服务器错误

类型 异常报告

消息 Servlet执行抛出一个异常

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

javax.servlet.ServletException: Servlet执行抛出一个异常
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因。

java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources
	Request.LoginServlet.doGet(LoginServlet.java:29)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:488)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:582)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因。

java.lang.ClassNotFoundException: org.apache.ibatis.io.Resources
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1420)
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1228)
	Request.LoginServlet.doGet(LoginServlet.java:29)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:488)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:582)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

):注意 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/8.5.87
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.5</version>
    </dependency>

    <!--mysql 驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.46</version>
    </dependency>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Maven-Mybatis-Servlet-Spring-0408</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <properties>
        <maven.compiler.source>20</maven.compiler.source>
        <maven.compiler.target>20</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <!--导入Servlet依赖坐标-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!--
              此处为什么需要添加该标签?
              provided指的是在编译和测试过程中有效,最后生成的war包时不会加入
               因为Tomcat的lib目录中已经有servlet-api这个jar包,如果在生成war包的时候生效就会和Tomcat中的jar包冲突,导致报错
            -->
            <scope>provided</scope>
        </dependency>
        <!-- mysql坐标 -->
<!--        <dependency>-->
<!--            <groupId>mysql</groupId>-->
<!--            <artifactId>mysql-connector-java</artifactId>-->
<!--            <version>5.1.32</version>-->
<!--        </dependency>-->
        <!--mybatis 依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>

        <!--mysql 驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

        <!--junit 单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- 添加slf4j日志api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.20</version>
        </dependency>
        <!-- 添加logback-classic依赖 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!-- 添加logback-core依赖 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-websocket</artifactId>
            <version>10.1.7</version>
        </dependency>
        <dependency>
            <groupId>org.webjars.npm</groupId>
            <artifactId>gulp-insert</artifactId>
            <version>0.5.0</version>
        </dependency>
    </dependencies>

</project>

到了这里,关于javax.servlet.ServletException: Servlet执行抛出一个异常怎么解决?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 错误异常“The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path”的解决方法

    Java web导入项目后出现“ The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path ”错误的解决方法: 在eclipse中导入项目后常出现的问题。 原因分析:在java web工程下没有引入中间件(服务器tomcat)运行的library 导入项目包后会出现: 首先右击项目选择Properties 其

    2024年02月04日
    浏览(43)
  • java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.http不存在 java: 程序包javax.servlet.annotation不存在

    一般是JDK里没有servlet.api这个jar包,没有扫描到。可以先从你的tomcat的lib包下找,但我的这个里面是没有的,但我之前下过所以可以直接拷贝 然后找到你的jdk位置,不知道自己jdk位置的可以按照一下步骤打开      复制路径然后从文件夹打开,然后塞入你的jar即可。然后再编

    2024年02月10日
    浏览(40)
  • javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet

    1,javax.servlet 和 jakarta.servlet的关系 javax.servlet 和 jakarta.servlet 是 Java Servlet API 的两个版本。 Java Servlet API 是由 Sun Microsystems(现在是 Oracle)开发和维护的,其包名以 javax.servlet 开头。从 Java EE 8 开始,Servlet API 的维护权转交给了 Eclipse Foundation 的 Jakarta EE 社区,因此,在最新的

    2024年01月20日
    浏览(45)
  • org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet

    SpringMVC web.xml文件配置 报错: org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet 解决方法 第一步:先看是否已加载了tomcat,查看自己tomcat版本 第二步:打开配置文件 第三步:查看配置servlet没有 根据自己Tomcat版本的不同选择上下一个配置内容 小编的T

    2024年02月11日
    浏览(42)
  • javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping

    出现此类错误 需要检查各子项目中pom文件是否引用了重复的javax.servlet-api maven依赖导致。 如果项目是单体项目,检查是否引用org.springframework-spring-web依赖,必须移除掉移除嵌入式tomcat插件 检查controller层是否地址无误,本人是controller的接口不知道怎么删除掉了,导致一直出现

    2024年02月12日
    浏览(46)
  • Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Servlet

    缺少jar包 jar包冲突 先查看pom文件中是否引入了对应的依赖,如果没有的话,需要引入: 如果是从 Maven Repository 上面获取的依赖记得要 删除scop 这一行,我就是网上找了几百种方法,才发现是这个问题!

    2024年02月13日
    浏览(48)
  • javax.servlet-api报错问题

    报错:NoClassDefFoundError: javax/servlet/http/HttpServletResponse 服务原有依赖 新加依赖后解决

    2024年02月02日
    浏览(41)
  • java: 程序包javax.servlet.http不存在

    当项目从2.7.x的springboot升级到3.0.x的时候,遇到一个问题 “java: 程序包javax.servlet.http不存在” 。这可能是一些包的精简变化导致的。错误信息如下:  错误代码段 Maven Repository: jakarta.servlet » jakarta.servlet-api » 6.0.0 (mvnrepository.com) 增加一下依赖即可。 修改后代码如下(请注意

    2024年02月14日
    浏览(39)
  • Type javax.servlet.http.HttpServletRequest not present

    运行环境  Swagger 3.0.0、springboot 3.0.0  产生原因: Swagger 3.0.0不支持spring3.0.0     两个解决方案:     1.降低springboot版本为2.x     2.放弃Swagger,使用  springdoc-openapi-starter-webmvc-ui 第二种解决方案: @Tag 用来设置 Controller 的名称和描述,类似于给 Postman 的 Collections 命名; @A

    2024年02月06日
    浏览(101)
  • idea导入import javax.servlet.http.HttpServletRequest;爆红

    1、问题描述: 2、解决办法: 第一步: 选中左侧项目 → 右键 → 选择 Open Module Settings  第二步: 在 Project Structure 窗口, 选择左侧的 Modules ,在选中中间的项目,点击右侧的+号,选择Library 第三步: 在Choose Libraries 窗口,选择New Library... ,在下拉框选择Java 第四步: 在Selec

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包