我试图使用SpringMVC制作一个简单的JavaWeb应用程序。我试图在我的资源文件夹中添加CSS和JS文件,该文件夹分别位于/Webcontents/resources/和Webcontents/JS
。因此,我需要在我的servlet中进行一些配置。xm
l并在该文件中包含spring webmvc。我的servlet。xml
如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<context:component-scan base-package="com.webrtc.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:annotation-driven />
</bean>
</beans>
下面给出了我的POM. xml:
<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>WebRTCProject</groupId>
<artifactId>WebRTCProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<jdk.version>1.8</jdk.version>
<spring.version>4.3.7.RELEASE</spring.version>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
</project>
一旦我使用Maven构建项目,并尝试使用Eclipse IDE上添加的Tomcat在服务器上运行它,我就会得到以下错误:
SEVERE: Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
配置问题:找不到元素[resources]的BeanDefinitionDecorator。有问题的资源:ServletContext资源[/WEB-INF/webrtc servlet.xml]位于org。springframework。豆。工厂解析。失败问题记者。致命(FailFastProblemReporter.java:60)在org。springframework。豆。工厂解析。ReaderContext。org上的致命错误(ReaderContext.java:68)。springframework。豆。工厂解析。ReaderContext。在org上致命(ReaderContext.java:55)。springframework。豆。工厂xml。NamespaceHandlerSupport。findDecoratorForNode(NamespaceHandlerSupport.java:121)位于org。springframework。豆。工厂xml。NamespaceHandlerSupport。在org上装饰(NamespaceHandlerSupport.java:99)。springframework。豆。工厂xml。BeanDefinitionParserDelegate。decorateiFrequered(beandDefinitionParserDelegate.java:1448)位于org。springframework。豆。工厂xml。BeanDefinitionParserDelegate。DecorateBeandDefinitionFrequered(beandDefinitionParserDelegate.java:1435)位于org。springframework。豆。工厂xml。BeanDefinitionParserDelegate。DecorateBeandDefinitionFrequered(beandDefinitionParserDelegate.java:1415)位于org。springframework。豆。工厂xml。DefaultBeanDefinitionDocumentReader。org上的processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:301)。springframework。豆。工厂xml。DefaultBeanDefinitionDocumentReader。org上的parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:190)。springframework。豆。工厂xml。DefaultBeanDefinitionDocumentReader。org上的parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:169)。springframework。豆。工厂xml。DefaultBeanDefinitionDocumentReader。doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)位于org。springframework。豆。工厂xml。DefaultBeanDefinitionDocumentReader。org上的registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)。springframework。豆。工厂xml。XmlBeanDefinitionReader。org上的registerBeanDefinitions(XmlBeanDefinitionReader.java:508)。springframework。豆。工厂xml。BeandeXmlReader。doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)位于org。springframework。豆。工厂xml。XmlBeanDefinitionReader。在org上加载BeanDefinitions(XmlBeanDefinitionReader.java:336)。springframework。豆。工厂xml。XmlBeanDefinitionReader。在org上加载BeanDefinitions(XmlBeanDefinitionReader.java:304)。springframework。豆。工厂支持AbstractBeanDefinitionReader。在org上加载BeanDefinitions(AbstractBeanDefinitionReader.java:181)。springframework。豆。工厂支持AbstractBeanDefinitionReader。在org上加载BeanDefinitions(AbstractBeanDefinitionReader.java:217)。springframework。豆。工厂支持AbstractBeanDefinitionReader。在org上加载BeanDefinitions(AbstractBeanDefinitionReader.java:188)。springframework。网状物上下文支持XmlWebApplicationContext。在org上加载BeanDefinitions(XmlWebApplicationContext.java:125)。springframework。网状物上下文支持XmlWebApplicationContext。在org上加载BeanDefinitions(XmlWebApplicationContext.java:94)。springframework。上下文支持AbstractRefreshableApplicationContext。位于org的refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)。springframework。上下文支持AbstractApplicationContext。在org上获得FreshBeanFactory(AbstractApplicationContext.java:613)。springframework。上下文支持AbstractApplicationContext。在org上刷新(AbstractApplicationContext.java:514)。springframework。网状物servlet。FrameworkServlet。在org上配置和刷新WebApplicationContext(FrameworkServlet.java:668)。springframework。网状物servlet。FrameworkServlet。在org上创建WebApplicationContext(FrameworkServlet.java:634)。springframework。网状物servlet。FrameworkServlet。在org上创建WebApplicationContext(FrameworkServlet.java:682)。springframework。网状物servlet。FrameworkServlet。位于org的initWebApplicationContext(FrameworkServlet.java:553)。springframework。网状物servlet。FrameworkServlet。位于org的initServletBean(FrameworkServlet.java:494)。springframework。网状物servlet。HttpServletBean。javax上的init(HttpServletBean.java:138)。servlet。GenericServlet。org上的init(GenericServlet.java:158)。阿帕奇。卡塔琳娜。果心标准包装。org上的initServlet(StandardWrapper.java:1183)。阿帕奇。卡塔琳娜。果心标准包装。loadServlet(StandardWrapper.java:1099)位于org。阿帕奇。卡塔琳娜。果心标准包装。在组织中加载(StandardWrapper.java:989)。阿帕奇。卡塔琳娜。果心标准上下文。loadOnStartup(StandardContext.java:4931)位于org。阿帕奇。卡塔琳娜。果心标准上下文。startInternal(StandardContext.java:5241)位于org。阿帕奇。卡塔琳娜。util。生命周期酶。在org上启动(LifecycleBase.java:150)。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。在org上调用(ContainerBase.java:1419)。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。在java上调用(ContainerBase.java:1409)。util。同时发生的未来任务。在java上运行(FutureTask.java:266)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1149)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:624)。朗。丝线。运行(Thread.java:748)
我的其他确认如下:
视窗10
Eclipse IDE
Spring4.3.7
JavaSDK1.8
Tomcat 8.5
我尝试了不同的解决方案来解决这个问题,如版本控制问题,更改servlet.xml
文件等,但无法解决这个问题。
有人知道我如何解决这个问题吗?
任何帮助或建议都将不胜感激!如果你需要更多的项目细节,我将能够为你提供更多的细节。
我的servlet.xml如下
配置/WEB-INF/webrtc-servlet.xml
有错误。删除此文件或修复错误。
这些元素应该在bean定义之外
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/js/**" location="/js/" />
我在Spring MVC中测试了一些请求映射,在我的应用程序中遇到了一个奇怪的情况。我决定创建一个简单的cenario,以便您能够理解我的问题。我将首先向您展示我的项目(源代码)的详细信息,然后再开始我的问题。 我的项目中有以下目录结构: 我的Tomcat部署描述符: DispatcherServlet的我的应用程序上下文: 第1页的我的控制器类。jsp: 我的page1.jsp: 我可以访问第1
22.7.2.定义一个新的 source set 要定义一个新的源组, sourceSets {} 块中引用它.下面是一个例子: 例22.5.定义一个新的 source set build.gradle sourceSets { intTest } 当你定义一个新的 source set, java 插件会为该 source set 添加一些如Table 22.6, “Java plugi
然而,使用getInputStream是可行的。 如果有人能分享这背后的原因,以及在spring Boot中加载xml文件是否有更好的/替代的方法,这将是非常有帮助的。如有任何帮助,我将不胜感激
22.7.3.一些 source set 的例子 加入含有类文件的 sorce set 的 JAR: 例22.8.为 source set 组装 JAR build.gradle task intTestJar(type: Jar) { from sourceSets.intTest.output } 为 source set 生成 javadoc: 例22.9.为 source set
22.7.1.Source Set 属性 下表列出了 Source Set 的一些重要属性, 更多细节请查看 SourceSet 的 API 文档. 表22.9.java 插件- Source Set 属性 配置名称 类型 默认值 描述 name String (read-only) Not null 用来识别source set的名称 output SourceSetOutput(read-on
导入资源 提供了三种 导入资源 的方式: 以新建文件的方式,通过 Cocos Creator 3D 窗口的 资源管理器 面板 创建按钮 导入资源 以复制文件的方式,在操作系统的文件管理器中,将资源文件复制到项目资源文件夹下,之后打开编辑器或激活编辑器窗口会自动刷新 资源管理器 的资源列表,完成导入资源。 以拖拽文件的方式,从操作系统的文件管理器中拖拽资源文件到 资源管理器 面板的某个文件夹位置,完