Java问题解决:HTTP状态 500 - 内部服务器错误 Servlet[SpringMVC]的Servlet.init()引发异常

article/2025/9/18 12:05:36

问题:

在学习11_尚硅谷_SpringMVC_HelloWorld 课程中部署SpringMVC项目时遇到如下问题:

 

HTTP状态 500 - 内部服务器错误
类型 异常报告消息 Servlet[SpringMVC]的Servlet.init()引发异常描述 服务器遇到一个意外的情况,阻止它完成请求。例外情况javax.servlet.ServletException: Servlet[SpringMVC]的Servlet.init()引发异常org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1691)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:748)
根本原因。org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 6 in XML document from class path resource [springMVC.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 71; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:402)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:196)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:232)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:203)org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:671)org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716)org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591)org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530)org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1691)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:748)
根本原因。org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 71; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452)com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1911)com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740)com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:432)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338)org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:196)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:232)org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:203)org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:671)org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716)org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591)org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530)org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1691)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:748)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看Apache Tomcat/8.5.81

解决方案:

在springMVC.xml配置文件中 xsi:schemaLocation里添加对context的配置,即:

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
....
....
....

也就是将原来的

改成:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="com.atguigu.mvc.controller"></context:component-scan><!-- 配置Thymeleaf视图解析器 --><bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver"><property name="order" value="1"/><property name="characterEncoding" value="UTF-8"/><property name="templateEngine"><bean class="org.thymeleaf.spring5.SpringTemplateEngine"><property name="templateResolver"><bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"><!-- 视图前缀 --><property name="prefix" value="/WEB-INF/templates/"/><!-- 视图后缀 --><property name="suffix" value=".html"/><property name="templateMode" value="HTML5"/><property name="characterEncoding" value="UTF-8" /></bean></property></bean></property></bean>
</beans>

 这样就能正确运行了:

 


http://chatgpt.dhexx.cn/article/iBPbLotR.shtml

相关文章

“500 - 内部服务器错误。”解决办法

建站时遇到如下页面错误&#xff1a; 解决办法&#xff1a; 打开计算机管理IIS后&#xff0c;展开网站&#xff0c;点击出现错误的具体网站->"高级设置"->"物理路径凭据", 在弹出的对话框中查看路径凭据是不是选择在"特定用户",如果是请改…

【Python面向对象】封装、继承、多态

面向对象有三个基本特征&#xff0c;分别是封装、继承和多态。其中&#xff0c;封装可以隐藏实现细节&#xff0c;使得代码模块化&#xff1b;继承可以扩展已存在的代码模块&#xff08;类&#xff09;&#xff1b;它们的目的都是为了——代码重用。而多态则是为了实现另一个目…

浅谈对于封装、继承与多态的理解(Java)

目录 封装 继承 父类成员的访问 如何在子类中访问父类同名的成员 子类构造方法 代码块在继承上的执行顺序 多态 多态的实现条件 重写 多态的优缺点 面向对象程序的三大特征&#xff1a;封装继承和多态。 封装 封装&#xff1a;将数据和操作数据的方法进行有效…

C++的封装、继承、多态

C封装、继承、多态总结 面向对象的三个基本特征&#xff1a;封装、继承、多态。 封装可以隐藏实现细节&#xff0c;使得代码模块化&#xff1b; 继承可以扩展已存在的代码模块&#xff08;类&#xff09;&#xff1b; 它们的目的都是为了——代码重用。 而多态则是为了实现另…

Python中的封装、继承与多态(史上最简单易懂版)

1.前言 面向对象的三大特性&#xff0c;想必大家肯定是耳熟能详。就是今天要介绍的内容&#xff1a;封装、继承、多态。面向对象的思想都是一样的&#xff0c;这里我用Python进行实现&#xff01; 2.封装 2.1 什么是封装呢&#xff1f; 封装就是&#xff1a;我写了一个类&a…

java 封装,继承,多态

java 封装&#xff0c;继承&#xff0c;多态 封装&#xff1a;安全性继承&#xff1a;复用性多态&#xff1a;拓展性书写思路&#xff1a;具体代码&#xff1a; 封装&#xff1a;安全性 在对类封装的时候 使用的访问权限是私有的&#xff08;private&#xff09;,读取和写入数…

C++封装、继承、多态

C++封装继承多态总结 面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用! 封装 …

【Java】封装、继承与多态

目录 封装 一、public访问修饰符 二、private访问修饰符 1、修饰属性 2、getter和setter 三、default访问修饰符 继承 一、父类和子类成员关系 1、父类和子类属性之间的调用 2、父类和子类方法之间的调用 二、父类与子类的构造方法 三、super修饰符 1、修饰属性 2、…

JAVA封装,继承,多态详解

Java的三大特性为封装&#xff0c;继承&#xff0c;多态。 封装 封装是 JAVA 面向对象的特点的表现&#xff0c;封装是一种信息隐蔽技术。它有两个含义&#xff1a;即把对象的全部属性和全部服务结合在一起&#xff0c;形成一个不可分割的独立单位&#xff1b;以及尽可能隐藏对…

封装,继承,多态

面向对象的三个基本特征 面向对象的三个基本特征是&#xff1a;封装、继承、多态。其中&#xff0c;封装 可以隐藏实现细节&#xff0c;使得代码模块化&#xff1b;继承可以扩展已存在的代码模块&#xff08;类&#xff09;&#xff1b;它们的目的都是为了——代码重用。而多态…

java之封装,继承,多态

一&#xff0c;前言 ​ 今天总结一下关于Java的三大特性&#xff0c;封装&#xff0c;继承&#xff0c;多态。其实关于三大特性对于从事编程人员来说都是基本的了&#xff0c;毕竟只要接触Java这些都是先要认识的&#xff0c;接下来就系统总结一下。 二&#xff0c;封装 ​ …

封装 继承和多态

封装继承和多态 封装 我们在设计程序时&#xff0c;讲究六个字&#xff0c;高内聚&#xff0c;低耦合 封装就是我们对数据进行隐藏&#xff0c;多用于来封装属性&#xff0c;封装方法较少。 记住封装的核心&#xff0c;就是私有&#xff08;private&#xff09; 令属性为私…

js面向对象之封装,继承,多态,类的详解

封装 在面向对象的操作中&#xff0c;我们有完全不同的一些写法。 想要封装我们的对象&#xff0c;就要用到构造函数。我们需要创建构造函数&#xff0c;构造函数和函数一致&#xff0c;都是通过function创建的 首字母大写&#xff08;规范&#xff0c;为了和普通函数进行区…

【c++ 封装、继承、多态】

文章目录 面向对象的三个基本特征1. 封装2. 继承2.1 继承的三种实现方式 3. 多态3.1 多态的俩种实现方式分析3.2 多态存在的三个必要条件3.3 C多态机制的实现&#xff1a; 4. 动态绑定与多态4.1 什么是动态绑定4.2 动态绑定发生的条件&#xff1f;4.3 动态绑定的实际意义4.4 程…

Java基础—封装继承多态(详细)

文章目录 面向对象三大特征 封装 继承 多态1.封装2.继承2.1注意事项参考文档2.2 this和super关键字2.3 重载和重写 3.多态3.1方法的多态3.2对象的多态3.3多态转型3.3.1向上转型3.3.2向下转型3.3.3 instanceof 关键字 面向对象三大特征 封装 继承 多态 1.封装 定义:就是把事物…

Java中的封装,继承和多态(详解)

目录 封装继承多态接口 一些建议和小结写在最后的话 封装 所谓的封装就是把类的属性和方法使用private修饰&#xff0c;不允许类的调用者直接访问&#xff0c;我们定义如下一个类&#xff0c;可以看到所有的成员变量和成员方法都使用private修饰了&#xff0c;我们现在来使用一…

封装、继承、多态

目录 访问限定符 封装 继承 super关键字 super和this的比较 继承在内存中的情况 重写override 重写和重载的比较 多态 JAVA中的动态绑定机制 JAVA面向对象程序三大特性&#xff1a;封装、继承、多态。在类和对象阶段&#xff0c;主要研究的就是封装特性。 在了…

【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态

文章目录 封装继承多态 封装 把客观事物封装成抽象的类&#xff0c;并且类可以把自己的数据和方法只让可信的类或者对象操作&#xff0c;对不可信的进行信息隐藏。封装是面向对象的特征之一&#xff0c;是对象和类概念的主要特性。 通俗的说&#xff0c;一个类就是一个封装了数…

Java基础知识之封装+继承+多态详解

前言 这篇博客是基于Java类和对象的基础之上的相关知识点。因为特别重要且语法规则较多&#xff0c;所以想单独总结方便之后复习。 本篇博客涉及知识点思维导图&#xff1a; 目录 1.封装 2.继承 3.多态 1.封装 生活中有很多东西我们并不想让其它人知道&#xff0c;比如我的身…

封装、继承和多态

目录 前言一、什么是封装&#xff1f;二、什么是继承&#xff1f;三、什么是多态&#xff1f; 前言 其实封装、继承和多态不仅仅是java的特性&#xff0c;而是所有面向对象程序的三大特性。 一、什么是封装&#xff1f; 封装就是对类内部的实现细节进行隐藏&#xff0c;然后…