eclipse创建web程序,简单的jsp可以运行,当将spring mvc完整写上后,再次运行报404错误,且一开始的简单jsp也不能运行了
环境:
eclipse:2020-06(4.16.0)
tomcat:8.5.64
jre:1.8.0-191
不知道这几个能不能适配,因为是一个一个下的,也没注意过,之前能凑合用就行了
这是web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<!-- 配置Spring IoC配置文件路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- 配置ContextLoaderListener用以初始化Spring IoC容器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置DispatcherServlet -->
<servlet>
<!-- 注意:Spring MVC框架会根据servlet-name配置,找到/WEB-INF/dispatcher-servlet.xml作为配置文件载入Web工程中 -->
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 使得Dispatcher在服务器启动的时候就初始化 -->
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Servlet拦截配置 -->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
这是dispatcher-servlet.xml
<?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:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 使用注解驱动 -->
<mvc:annotation-driven />
<!-- 定义扫描装载的包 -->
<context:component-scan base-package="com.*" />
<!-- 定义视图解析器 -->
<!-- 找到Web工程/WEB-INF/JSP文件夹,且文件结尾为jsp的文件作为映射 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
<!-- 如果有配置数据库事务,需要开启注解事务的,需要开启这段代码 -->
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>
这是controller
@Controller
//表明当请求的URI在/my下的时候才有该控制器响应
@RequestMapping("/my")
public class MyController {
//表明URI是/index的时候该方法才请求
@RequestMapping("/index")
public ModelAndView index() {
//模型和视图
ModelAndView mv = new ModelAndView();
//视图逻辑名称为index
mv.setViewName("index");
//返回模型和视图
return mv;
}
}
项目目录
一开始
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服务器版本: Apache Tomcat/8.5.64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器构建: Mar 4 2021 23:14:16 UTC
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服务器版本号: 8.5.64.0
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 操作系统名称: Windows 10
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本: 10.0
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架构: amd64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 环境变量: C:\Program Files\Java\jre1.8.0_191
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java虚拟机版本: 1.8.0_191-b12
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供应商: Oracle Corporation
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dcatalina.base=D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dcatalina.home=D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dwtp.deploy=D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Djava.endorsed.dirs=D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\endorsed
十一月 21, 2021 3:12:53 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 命令行参数: -Dfile.encoding=UTF-8
十一月 21, 2021 3:12:53 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: 在java.library.path:[C:\Program Files\Java\jre1.8.0_191\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Java/bin/server;D:/Java/bin;D:/Java/lib/amd64;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;";C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Windows\SysWOW64";D:\各种应用\mysql\mysql-8.0.25-winx64\bin;;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;"C:\Program Files\Java\jdk11.0.10\bin;C:\Users\23217\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\Java\eclipse;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
十一月 21, 2021 3:12:54 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化协议处理器 ["http-nio-8080"]
十一月 21, 2021 3:12:54 下午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1468 ms
十一月 21, 2021 3:12:54 下午 org.apache.catalina.core.StandardService startInternal
信息: 正在启动服务[Catalina]
十一月 21, 2021 3:12:54 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.5.64
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 正在部署部署描述符[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\conf\Catalina\localhost\hhh.xml]。
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDescriptor
警告: 在主机appBase 中指定了docBase [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\hhh],将被忽略
十一月 21, 2021 3:12:54 下午 org.apache.catalina.core.ContainerBase addChildInternal
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hhh]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1873)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: 找到多个名为spring_web的片段。这是不合法的相对排序。有关详细信息,请参阅Servlet规范的第8.2.2 2c节。考虑使用绝对排序。
at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2203)
at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2162)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1083)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5069)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 10 more
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDescriptor
严重: 部署描述符[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\conf\Catalina\localhost\hhh.xml]时出错
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hhh]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1873)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDescriptor
信息: 部署描述符[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\conf\Catalina\localhost\hhh.xml]的部署已在[366]ms内完成
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\ch14]
十一月 21, 2021 3:12:54 下午 org.apache.catalina.core.ContainerBase addChildInternal
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ch14]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1176)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1917)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: 找到多个名为spring_web的片段。这是不合法的相对排序。有关详细信息,请参阅Servlet规范的第8.2.2 2c节。考虑使用绝对排序。
at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2203)
at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2162)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1083)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5069)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 10 more
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDirectory
严重: 无法部署应用目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\ch14]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ch14]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1176)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1917)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\ch14]的部署已在[154]毫秒内完成
十一月 21, 2021 3:12:54 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\docs]
十一月 21, 2021 3:12:55 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十一月 21, 2021 3:12:55 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\docs]的部署已在[607]毫秒内完成
十一月 21, 2021 3:12:55 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\examples]
十一月 21, 2021 3:12:56 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十一月 21, 2021 3:12:56 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
十一月 21, 2021 3:12:56 下午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
十一月 21, 2021 3:12:56 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@754bade4')
十一月 21, 2021 3:12:56 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\examples]的部署已在[691]毫秒内完成
十一月 21, 2021 3:12:56 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\host-manager]
十一月 21, 2021 3:12:56 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十一月 21, 2021 3:12:56 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\host-manager]的部署已在[472]毫秒内完成
十一月 21, 2021 3:12:56 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\manager]
十一月 21, 2021 3:12:57 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十一月 21, 2021 3:12:57 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\manager]的部署已在[336]毫秒内完成
十一月 21, 2021 3:12:57 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: 把web 应用程序部署到目录 [D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\ROOT]
十一月 21, 2021 3:12:57 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
十一月 21, 2021 3:12:57 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Web应用程序目录[D:\各种应用\apache-tomcat-8.5.64-windows-x64\apache-tomcat-8.5.64\webapps\ROOT]的部署已在[338]毫秒内完成
十一月 21, 2021 3:12:57 下午 org.apache.coyote.AbstractProtocol start
信息: 开始协议处理句柄["http-nio-8080"]
十一月 21, 2021 3:12:57 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 3043 ms
感觉问题是出在配置方面,但是我又不知道具体在哪,还没能力解决它
不报404,但凡是别的能改的错也好啊
找到多个名为spring_web的片段。