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”的解决方法

    错误异常“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日
    浏览(12)
  • java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.http不存在 java: 程序包javax.servlet.annotation不存在

    java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.http不存在 java: 程序包javax.servlet.annotation不存在

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

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

    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日
    浏览(11)
  • org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet

    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日
    浏览(10)
  • javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping

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

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

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

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

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

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

    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日
    浏览(16)
  • idea导入import javax.servlet.http.HttpServletRequest;爆红

    idea导入import javax.servlet.http.HttpServletRequest;爆红

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

    2024年02月11日
    浏览(12)
  • 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日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包